76 lines
2.0 KiB
Java
76 lines
2.0 KiB
Java
package it.cavallium.strangedb.database;
|
|
|
|
import it.cavallium.strangedb.annotations.DbDataType;
|
|
import it.cavallium.strangedb.annotations.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;
|
|
}
|
|
}
|