strangedb/src/main/java/it/cavallium/strangedb/database/EnhancedObjectFullInfo.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;
}
}