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

111 lines
3.8 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package com.tridium.data;
import com.tridium.data.BDataTable;
import com.tridium.data.DataCodec;
import java.io.DataInput;
import java.io.IOException;
import javax.baja.data.BIDataTable;
import javax.baja.data.BIDataValue;
import javax.baja.data.DataTypes;
import javax.baja.io.BIEncodable;
import javax.baja.sys.BFacets;
import javax.baja.sys.Type;
public class DataTableDecoder
extends DataCodec {
public static BIDataTable decode(DataInput dataInput) throws IOException {
BIEncodable bIEncodable;
int n;
BDataTable bDataTable = new BDataTable();
int n2 = dataInput.readInt();
if (n2 != 497933825) {
throw new IOException("Invalid start of binary table encoding.");
}
boolean bl = dataInput.readBoolean();
if (bl) {
bDataTable.setTableFacets((BFacets)BFacets.DEFAULT.decode(dataInput));
}
int n3 = dataInput.readInt();
int[] nArray = new int[n3];
Type[] typeArray = new Type[n3];
int n4 = 0;
while (n4 < n3) {
String string = dataInput.readUTF();
String string2 = dataInput.readUTF();
nArray[n4] = dataInput.readInt();
typeArray[n4] = DataTypes.getBySymbol((char)nArray[n4]);
n = dataInput.readInt();
bIEncodable = null;
boolean bl2 = dataInput.readBoolean();
if (bl2) {
bIEncodable = (BFacets)BFacets.DEFAULT.decode(dataInput);
}
bDataTable.addColumn(string, string2, typeArray[n4], n, (BFacets)bIEncodable);
++n4;
}
if (n3 == 0) {
throw new IllegalStateException("Table contains no columns.");
}
n4 = dataInput.readInt();
if (n4 == -1) {
bDataTable.startRows();
} else {
bDataTable.startRows(n4);
}
int n5 = dataInput.readInt();
while (n5 != 0) {
int n6 = 0;
while (n6 < n5) {
bDataTable.startRow();
n = 0;
while (n < n3) {
switch (nArray[n]) {
case 102: {
bDataTable.set(dataInput.readFloat(), (BFacets)null);
break;
}
case 98: {
bDataTable.set(dataInput.readBoolean(), null);
break;
}
case 115: {
bDataTable.set(dataInput.readUTF(), null);
break;
}
case 105: {
bDataTable.set(dataInput.readInt(), (BFacets)null);
break;
}
case 108: {
bDataTable.set(dataInput.readLong(), (BFacets)null);
break;
}
case 100: {
bDataTable.set(dataInput.readDouble(), null);
break;
}
default: {
bIEncodable = (BIDataValue)((Object)typeArray[n].getInstance());
bDataTable.set((BIDataValue)((Object)bIEncodable.decode(dataInput)), null);
}
}
++n;
}
bDataTable.endRow();
++n6;
}
n5 = dataInput.readInt();
}
bDataTable.endRows();
int n7 = dataInput.readInt();
if (n7 != 766369282) {
throw new IOException("Invalid end of binary table encoding.");
}
return bDataTable;
}
}