niagara-ax/modules/cfr_output/com/tridium/data/DataTableEncoder.java
2026-03-17 13:31:18 -07:00

110 lines
3.9 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package com.tridium.data;
import com.tridium.data.DataCodec;
import java.io.DataOutput;
import java.io.IOException;
import javax.baja.collection.Column;
import javax.baja.collection.TableCursor;
import javax.baja.data.BIDataTable;
import javax.baja.data.BIDataValue;
import javax.baja.io.ByteBuffer;
import javax.baja.sys.BFacets;
import javax.baja.sys.Context;
public class DataTableEncoder
extends DataCodec {
public static void encode(BIDataTable bIDataTable, DataOutput dataOutput, Context context) throws IOException {
Object object;
dataOutput.writeInt(497933825);
BFacets bFacets = bIDataTable.getTableFacets();
if (bFacets == null || bFacets.isNull()) {
dataOutput.writeBoolean(false);
} else {
dataOutput.writeBoolean(true);
bFacets.encode(dataOutput);
}
Column[] columnArray = bIDataTable.getColumns().list();
int n = columnArray.length;
dataOutput.writeInt(n);
int n2 = 0;
while (n2 < n) {
dataOutput.writeUTF(columnArray[n2].getName());
dataOutput.writeUTF(columnArray[n2].getDisplayName(context));
dataOutput.writeInt(columnArray[n2].getType().getDataTypeSymbol());
dataOutput.writeInt(columnArray[n2].getFlags());
object = columnArray[n2].getFacets();
if (object == null || ((BFacets)object).isNull()) {
dataOutput.writeBoolean(false);
} else {
dataOutput.writeBoolean(true);
((BFacets)object).encode(dataOutput);
}
++n2;
}
dataOutput.writeInt(-1);
TableCursor tableCursor = (TableCursor)bIDataTable.cursor();
object = new ByteBuffer(6400);
int n3 = 0;
while (tableCursor.next()) {
DataTableEncoder.writeRow((DataOutput)object, tableCursor, columnArray);
if (++n3 != 200) continue;
dataOutput.writeInt(n3);
((ByteBuffer)object).writeTo(dataOutput);
((ByteBuffer)object).reset();
n3 = 0;
}
if (n3 != 0) {
dataOutput.writeInt(n3);
((ByteBuffer)object).writeTo(dataOutput);
}
dataOutput.writeInt(0);
dataOutput.writeInt(766369282);
}
private static final void writeRow(DataOutput dataOutput, TableCursor tableCursor, Column[] columnArray) throws IOException {
int n = columnArray.length;
int n2 = 0;
while (n2 < n) {
char c = columnArray[n2].getType().getDataTypeSymbol();
switch (c) {
case 'f': {
dataOutput.writeFloat(tableCursor.getFloat(columnArray[n2]));
break;
}
case 'b': {
dataOutput.writeBoolean(tableCursor.getBoolean(columnArray[n2]));
break;
}
case 's': {
dataOutput.writeUTF(tableCursor.getString(columnArray[n2]));
break;
}
case 'i': {
dataOutput.writeInt(tableCursor.getInt(columnArray[n2]));
break;
}
case 'l': {
dataOutput.writeLong(tableCursor.getLong(columnArray[n2]));
break;
}
case 'd': {
dataOutput.writeDouble(tableCursor.getDouble(columnArray[n2]));
break;
}
default: {
((BIDataValue)((Object)tableCursor.get(columnArray[n2]))).encode(dataOutput);
}
}
++n2;
}
}
public static String encodeToString(BIDataTable bIDataTable) throws IOException {
throw new UnsupportedOperationException("not implemented");
}
}