strangedb/src/main/java/org/warp/cowdb/database/EnhancedObjectFullInfo.java

76 lines
2.0 KiB
Java

package org.warp.cowdb.database;
import org.warp.jcwdb.ann.DBDataType;
import org.warp.jcwdb.ann.DBPrimitiveType;
import java.lang.reflect.Field;
public class EnhancedObjectFullInfo {
private final int version;
private final long[] fieldReferences;
private final DBDataType[] fieldTypes;
private final Field[] fields;
private final long primitiveFieldDataReference;
private final DBPrimitiveType[] primitiveFieldTypes;
private final Field[] primitiveFields;
private final long[] propertyReferences;
private final DBDataType[] propertyTypes;
private final Object[] loadedPropertyValues;
public EnhancedObjectFullInfo(int version, long[] fieldReferences, DBDataType[] fieldTypes, Field[] fields, long primitiveFieldDataReference, DBPrimitiveType[] primitiveFieldTypes, Field[] primitiveFields, long[] propertyReferences, DBDataType[] propertyTypes, Object[] loadedPropertyValues) {
this.version = version;
if (version > 255) {
throw new IllegalArgumentException();
}
this.fieldReferences = fieldReferences;
this.fieldTypes = fieldTypes;
this.fields = fields;
this.primitiveFieldDataReference = primitiveFieldDataReference;
this.primitiveFieldTypes = primitiveFieldTypes;
this.primitiveFields = primitiveFields;
this.propertyReferences = propertyReferences;
this.propertyTypes = propertyTypes;
this.loadedPropertyValues = loadedPropertyValues;
}
int getVersion() {
return version;
}
long[] getFieldReferences() {
return fieldReferences;
}
DBDataType[] getFieldTypes() {
return fieldTypes;
}
public Field[] getFields() {
return fields;
}
public long getPrimitiveFieldDataReference() {
return primitiveFieldDataReference;
}
public DBPrimitiveType[] getPrimitiveFieldTypes() {
return primitiveFieldTypes;
}
public Field[] getPrimitiveFields() {
return primitiveFields;
}
long[] getPropertyReferences() {
return propertyReferences;
}
DBDataType[] getPropertyTypes() {
return propertyTypes;
}
Object[] getLoadedPropertyValues() {
return loadedPropertyValues;
}
}