/* * Decompiled with CFR 0.152. */ package com.tridium.data; import com.tridium.data.BDataRow; import com.tridium.data.DataColumnList; import javax.baja.collection.BICollection; import javax.baja.collection.BIList; import javax.baja.collection.BITable; import javax.baja.collection.Column; import javax.baja.collection.ColumnList; import javax.baja.collection.TableCursor; import javax.baja.data.BIDataTable; import javax.baja.sys.BBoolean; import javax.baja.sys.BDouble; import javax.baja.sys.BFacets; import javax.baja.sys.BFloat; import javax.baja.sys.BInteger; import javax.baja.sys.BLong; import javax.baja.sys.BObject; import javax.baja.sys.BString; import javax.baja.sys.BValue; import javax.baja.sys.Context; import javax.baja.sys.Cursor; import javax.baja.sys.Sys; import javax.baja.sys.Type; import javax.baja.util.IFilter; /* * Illegal identifiers - consider using --renameillegalidents true */ public class BToDataTable extends BObject implements BIDataTable { public static final Type TYPE; private BITable innerTable; private DataColumnList columns; private BDataRow rowObject; static /* synthetic */ Class class$com$tridium$data$BToDataTable; public static BIDataTable toDataTable(BITable bITable) { if (bITable instanceof BIDataTable) { return (BIDataTable)bITable; } return new BToDataTable(bITable); } public BICollection filter(IFilter iFilter) { return new BToDataTable(this.innerTable.filter(iFilter).toTable()); } public Cursor cursor() { return new ToDataCursor(this, (TableCursor)this.innerTable.cursor()); } public BIList toList() { return this; } public int size() { return this.innerTable.size(); } public BObject get(int n) { if (this.rowObject == null) { this.rowObject = new BDataRow(this, n); } else { this.rowObject.setRow(n); } return this.rowObject; } public BObject[] list() { int n = this.size(); BObject[] bObjectArray = new BDataRow[n]; int n2 = 0; while (n2 < n) { bObjectArray[n2] = ((BDataRow)this.get(n2)).copy(); ++n2; } return bObjectArray; } public BObject[] list(BObject[] bObjectArray) { return this.list(); } public BITable toTable() { return this; } public BFacets getTableFacets() { return this.innerTable.getTableFacets(); } public ColumnList getColumns() { return this.columns; } public BObject get(int n, Column column) { return ((TranslatedColumn)column).get(n, this.innerTable); } public String getString(int n, Column column) { return ((TranslatedColumn)column).getString(n, this.innerTable); } public double getDouble(int n, Column column) { return ((TranslatedColumn)column).getDouble(n, this.innerTable); } public float getFloat(int n, Column column) { return ((TranslatedColumn)column).getFloat(n, this.innerTable); } public boolean getBoolean(int n, Column column) { return ((TranslatedColumn)column).getBoolean(n, this.innerTable); } public int getInt(int n, Column column) { return ((TranslatedColumn)column).getInt(n, this.innerTable); } public long getLong(int n, Column column) { return ((TranslatedColumn)column).getLong(n, this.innerTable); } public int getFlags(int n, Column column) { return ((TranslatedColumn)column).getFlags(n, this.innerTable); } public BFacets getFacets(int n, Column column) { return ((TranslatedColumn)column).getFacets(n, this.innerTable); } public Column translateColumn(Column column) { Type type = column.getType(); if (type.isDataType()) { return new IsDataColumn(column); } return new ToDataColumn(column); } public Type getType() { return TYPE; } static /* synthetic */ Class class(String string, boolean bl) { try { Class clazz = Class.forName(string); if (!bl) { clazz = clazz.getComponentType(); } return clazz; } catch (ClassNotFoundException classNotFoundException) { throw new NoClassDefFoundError(classNotFoundException.getMessage()); } } public BToDataTable(BITable bITable) { this.innerTable = bITable; ColumnList columnList = this.innerTable.getColumns(); int n = columnList.size(); this.columns = new DataColumnList(); int n2 = 0; while (n2 < n) { this.columns.addColumn(this.translateColumn(columnList.get(n2))); ++n2; } } static { Class clazz = class$com$tridium$data$BToDataTable; if (clazz == null) { clazz = class$com$tridium$data$BToDataTable = BToDataTable.class("[Lcom.tridium.data.BToDataTable;", false); } TYPE = Sys.loadType(clazz); } static class ToDataCursor implements TableCursor { BITable table; TableCursor inner; public Context getContext() { return this.inner.getContext(); } public boolean next() { return this.inner.next(); } public boolean nextComponent() { return this.inner.nextComponent(); } public boolean next(Class clazz) { return this.inner.next(clazz); } public BObject get() { return this.inner.get(); } public BITable getTable() { return this.table; } public BObject get(Column column) { return ((TranslatedColumn)column).get(this.inner); } public String getString(Column column) { return ((TranslatedColumn)column).getString(this.inner); } public double getDouble(Column column) { return ((TranslatedColumn)column).getDouble(this.inner); } public float getFloat(Column column) { return ((TranslatedColumn)column).getFloat(this.inner); } public int getInt(Column column) { return ((TranslatedColumn)column).getInt(this.inner); } public long getLong(Column column) { return ((TranslatedColumn)column).getLong(this.inner); } public boolean getBoolean(Column column) { return ((TranslatedColumn)column).getBoolean(this.inner); } public int getFlags(Column column) { return ((TranslatedColumn)column).getFlags(this.inner); } public BFacets getFacets(Column column) { return ((TranslatedColumn)column).getFacets(this.inner); } public ToDataCursor(BITable bITable, TableCursor tableCursor) { this.table = bITable; this.inner = tableCursor; } } static abstract class TranslatedColumn implements Column { protected Column innerColumn; public String getName() { return this.innerColumn.getName(); } public String getDisplayName(Context context) { return this.innerColumn.getDisplayName(context); } public int getFlags() { return this.innerColumn.getFlags(); } public BFacets getFacets() { return this.innerColumn.getFacets(); } public abstract BObject get(int var1, BITable var2); public abstract String getString(int var1, BITable var2); public abstract double getDouble(int var1, BITable var2); public abstract float getFloat(int var1, BITable var2); public abstract boolean getBoolean(int var1, BITable var2); public abstract int getInt(int var1, BITable var2); public abstract long getLong(int var1, BITable var2); public int getFlags(int n, BITable bITable) { return bITable.getFlags(n, this.innerColumn); } public BFacets getFacets(int n, BITable bITable) { return bITable.getFacets(n, this.innerColumn); } public abstract BObject get(TableCursor var1); public abstract String getString(TableCursor var1); public abstract double getDouble(TableCursor var1); public abstract float getFloat(TableCursor var1); public abstract boolean getBoolean(TableCursor var1); public abstract int getInt(TableCursor var1); public abstract long getLong(TableCursor var1); public int getFlags(TableCursor tableCursor) { return tableCursor.getFlags(this.innerColumn); } public BFacets getFacets(TableCursor tableCursor) { return tableCursor.getFacets(this.innerColumn); } public String toString() { return this.getName() + ':' + this.getType().getTypeSpec(); } public TranslatedColumn(Column column) { this.innerColumn = column; } } static class IsDataColumn extends TranslatedColumn { public Type getType() { return this.innerColumn.getType(); } public BObject get(int n, BITable bITable) { return bITable.get(n, this.innerColumn); } public String getString(int n, BITable bITable) { return bITable.getString(n, this.innerColumn); } public double getDouble(int n, BITable bITable) { return bITable.getDouble(n, this.innerColumn); } public float getFloat(int n, BITable bITable) { return bITable.getFloat(n, this.innerColumn); } public boolean getBoolean(int n, BITable bITable) { return bITable.getBoolean(n, this.innerColumn); } public int getInt(int n, BITable bITable) { return bITable.getInt(n, this.innerColumn); } public long getLong(int n, BITable bITable) { return bITable.getLong(n, this.innerColumn); } public BObject get(TableCursor tableCursor) { return tableCursor.get(this.innerColumn); } public String getString(TableCursor tableCursor) { return tableCursor.getString(this.innerColumn); } public double getDouble(TableCursor tableCursor) { return tableCursor.getDouble(this.innerColumn); } public float getFloat(TableCursor tableCursor) { return tableCursor.getFloat(this.innerColumn); } public boolean getBoolean(TableCursor tableCursor) { return tableCursor.getBoolean(this.innerColumn); } public int getInt(TableCursor tableCursor) { return tableCursor.getInt(this.innerColumn); } public long getLong(TableCursor tableCursor) { return tableCursor.getLong(this.innerColumn); } public IsDataColumn(Column column) { super(column); } } /* * Illegal identifiers - consider using --renameillegalidents true */ static class ToDataColumn extends TranslatedColumn { private Type columnType; private BFacets facets; public Type getType() { return this.columnType; } public BFacets getFacets() { if (this.facets == null) { return super.getFacets(); } return this.facets; } public BObject get(int n, BITable bITable) { return (BObject)((Object)bITable.get(n, this.innerColumn).toDataValue()); } public String getString(int n, BITable bITable) { return bITable.get(n, this.innerColumn).toDataValue().toString(); } public double getDouble(int n, BITable bITable) { return ((BDouble)bITable.get(n, this.innerColumn).toDataValue()).getDouble(); } public float getFloat(int n, BITable bITable) { return ((BFloat)bITable.get(n, this.innerColumn).toDataValue()).getFloat(); } public boolean getBoolean(int n, BITable bITable) { return ((BBoolean)bITable.get(n, this.innerColumn).toDataValue()).getBoolean(); } public int getInt(int n, BITable bITable) { return ((BInteger)bITable.get(n, this.innerColumn).toDataValue()).getInt(); } public long getLong(int n, BITable bITable) { return ((BLong)bITable.get(n, this.innerColumn).toDataValue()).getLong(); } public BObject get(TableCursor tableCursor) { return (BObject)((Object)tableCursor.get(this.innerColumn).toDataValue()); } public String getString(TableCursor tableCursor) { return tableCursor.getString(this.innerColumn); } public double getDouble(TableCursor tableCursor) { return ((BDouble)tableCursor.get(this.innerColumn).toDataValue()).getDouble(); } public float getFloat(TableCursor tableCursor) { return ((BFloat)tableCursor.get(this.innerColumn).toDataValue()).getFloat(); } public boolean getBoolean(TableCursor tableCursor) { return ((BBoolean)tableCursor.get(this.innerColumn).toDataValue()).getBoolean(); } public int getInt(TableCursor tableCursor) { return ((BInteger)tableCursor.get(this.innerColumn).toDataValue()).getInt(); } public long getLong(TableCursor tableCursor) { return ((BLong)tableCursor.get(this.innerColumn).toDataValue()).getLong(); } private final /* synthetic */ void this() { this.facets = null; } public ToDataColumn(Column column) { super(column); this.this(); Type type = column.getType(); this.columnType = !type.isAbstract() && !type.isInterface() && type.is(BValue.TYPE) ? type.getInstance().toDataValue().getType() : BString.TYPE; if (!type.equals(this.columnType)) { BString bString = BString.make(type.getTypeSpec().toString()); this.facets = BFacets.make(column.getFacets(), "origType", bString); } else { this.facets = null; } } } }