public class FieldMetadata extends ClassAspect implements StoredField
| Modifier and Type | Field and Description |
|---|---|
protected ClassMetadata |
_fieldType |
protected int |
_fieldTypeID |
protected boolean |
_isArray |
_handle| Modifier | Constructor and Description |
|---|---|
|
FieldMetadata(ClassMetadata classMetadata) |
protected |
FieldMetadata(ClassMetadata containingClass,
java.lang.String name) |
|
FieldMetadata(ClassMetadata containingClass,
java.lang.String name,
int fieldTypeID,
boolean primitive,
boolean isArray,
boolean isNArray) |
protected |
FieldMetadata(int fieldTypeID) |
| Modifier and Type | Method and Description |
|---|---|
void |
activate(UnmarshallingContext context) |
void |
addFieldIndex(ObjectIdContextImpl context) |
protected void |
addIndexEntry(StatefulBuffer a_bytes,
java.lang.Object indexEntry) |
void |
addIndexEntry(Transaction trans,
int parentID,
java.lang.Object indexEntry) |
boolean |
alive() |
AspectType |
aspectType() |
void |
attemptUpdate(UnmarshallingContext context) |
boolean |
canBeDisabled() |
boolean |
canLoadByIndex() |
boolean |
canUpdateFast() |
boolean |
canUseNullBitmap() |
void |
cascadeActivation(ActivationContext context) |
protected java.lang.Object |
cascadingTarget(ActivationContext context) |
java.lang.Object |
coerce(ReflectClass valueClass,
java.lang.Object value) |
void |
collectIDs(CollectIdContext context) |
ObjectContainerBase |
container() |
ClassMetadata |
containingClass() |
protected FieldIndexKey |
createFieldIndexKey(int parentID,
java.lang.Object indexEntry) |
void |
createIndex()
creates an index on this field at runtime.
|
void |
deactivate(ActivationContext context) |
void |
defragAspect(DefragmentContext context) |
void |
delete(DeleteContextImpl context,
boolean isUpdate) |
void |
dropIndex()
drops an existing index on this field at runtime.
|
void |
dropIndex(LocalTransaction systemTrans) |
boolean |
equals(java.lang.Object obj) |
ClassMetadata |
fieldType() |
int |
fieldTypeID() |
java.lang.Object |
get(java.lang.Object onObject)
returns the field value on the passed object.
|
java.lang.Object |
get(Transaction trans,
java.lang.Object onObject) |
TypeHandler4 |
getHandler() |
BTree |
getIndex(Transaction trans) |
java.lang.String |
getName()
returns the name of the field.
|
java.lang.Object |
getOn(Transaction trans,
java.lang.Object onObject) |
java.lang.Object |
getOrCreate(Transaction trans,
java.lang.Object onObject)
dirty hack for com.db4o.types some of them (BlobImpl) need to be set automatically
TODO: Derive from FieldMetadata for Db4oTypes
|
ReflectClass |
getStoredType()
returns the Class (Java) / Type (.NET) of the field.
|
boolean |
hasConfig() |
int |
hashCode() |
boolean |
hasIndex()
Returns whether this field has an index or not.
|
protected java.lang.Object |
indexEntryFor(java.lang.Object indexEntry) |
protected Indexable4 |
indexHandler(ObjectContainerBase stream) |
void |
init(java.lang.String name) |
void |
init(java.lang.String name,
int fieldTypeID,
boolean isPrimitive,
boolean isArray,
boolean isNArray) |
void |
initIndex(Transaction systemTrans,
int id) |
boolean |
isArray()
returns true if the field is an array.
|
boolean |
isPrimitive() |
boolean |
isVirtual() |
int |
linkLength(HandlerVersionContext context) |
void |
loadFieldTypeById() |
void |
marshall(MarshallingContext context,
java.lang.Object obj) |
boolean |
needsArrayAndPrimitiveInfo() |
protected BTree |
newBTree(Transaction systemTrans,
int id) |
PreparedComparison |
prepareComparison(Context context,
java.lang.Object obj) |
QField |
qField(Transaction a_trans) |
java.lang.Object |
read(ObjectIdContext context) |
java.lang.Object |
readIndexEntry(ObjectIdContext context) |
boolean |
rebuildIndexForClass(LocalObjectContainer stream,
ClassMetadata classMetadata) |
protected void |
rebuildIndexForObject(LocalObjectContainer stream,
ClassMetadata classMetadata,
int objectId) |
protected void |
rebuildIndexForWriter(LocalObjectContainer stream,
StatefulBuffer writer,
int objectId) |
GenericReflector |
reflector() |
void |
removeIndexEntry(Transaction trans,
int parentID,
java.lang.Object indexEntry) |
void |
rename(java.lang.String newName)
modifies the name of this stored field.
|
BTreeRange |
search(Transaction transaction,
java.lang.Object value) |
void |
set(java.lang.Object onObject,
java.lang.Object obj) |
protected void |
setAvailable() |
java.lang.String |
toString() |
protected java.lang.Class |
translatorStoredClass(ObjectTranslator translator) |
void |
traverseValues(Transaction transaction,
Visitor4 userVisitor) |
void |
traverseValues(Visitor4 userVisitor)
specialized highspeed API to collect all values of a field for all instances
of a class, if the field is indexed.
|
protected TypeHandler4 |
typeHandlerForClass(ObjectContainerBase container,
ReflectClass fieldType) |
boolean |
updating() |
protected TypeHandler4 |
wrapHandlerToArrays(TypeHandler4 handler) |
checkEnabled, disableFromAspectCountVersion, incrementOffset, isEnabledOn, setHandleprotected boolean _isArray
protected ClassMetadata _fieldType
protected int _fieldTypeID
public FieldMetadata(ClassMetadata classMetadata)
protected FieldMetadata(int fieldTypeID)
public FieldMetadata(ClassMetadata containingClass, java.lang.String name, int fieldTypeID, boolean primitive, boolean isArray, boolean isNArray)
protected FieldMetadata(ClassMetadata containingClass, java.lang.String name)
protected final java.lang.Class translatorStoredClass(ObjectTranslator translator)
protected void setAvailable()
public void addFieldIndex(ObjectIdContextImpl context) throws FieldIndexException
FieldIndexExceptionprotected final void addIndexEntry(StatefulBuffer a_bytes, java.lang.Object indexEntry)
public void addIndexEntry(Transaction trans, int parentID, java.lang.Object indexEntry)
protected FieldIndexKey createFieldIndexKey(int parentID, java.lang.Object indexEntry)
protected java.lang.Object indexEntryFor(java.lang.Object indexEntry)
public boolean canUseNullBitmap()
public final java.lang.Object readIndexEntry(ObjectIdContext context) throws CorruptionException, Db4oIOException
CorruptionExceptionDb4oIOExceptionpublic void removeIndexEntry(Transaction trans, int parentID, java.lang.Object indexEntry)
public boolean alive()
public boolean updating()
public GenericReflector reflector()
public java.lang.Object coerce(ReflectClass valueClass, java.lang.Object value)
public final boolean canLoadByIndex()
public final void cascadeActivation(ActivationContext context)
cascadeActivation in class ClassAspectprotected final java.lang.Object cascadingTarget(ActivationContext context)
public final void collectIDs(CollectIdContext context) throws FieldIndexException
collectIDs in class ClassAspectFieldIndexExceptionprotected final TypeHandler4 wrapHandlerToArrays(TypeHandler4 handler)
public void deactivate(ActivationContext context)
deactivate in class ClassAspectpublic void delete(DeleteContextImpl context, boolean isUpdate) throws FieldIndexException
delete in class ClassAspectFieldIndexExceptionpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic final java.lang.Object get(java.lang.Object onObject)
StoredFieldget in interface StoredFieldpublic final java.lang.Object get(Transaction trans, java.lang.Object onObject)
public java.lang.String getName()
StoredFieldgetName in interface StoredFieldgetName in class ClassAspectpublic final ClassMetadata fieldType()
public TypeHandler4 getHandler()
public int fieldTypeID()
public java.lang.Object getOn(Transaction trans, java.lang.Object onObject)
public java.lang.Object getOrCreate(Transaction trans, java.lang.Object onObject)
public final ClassMetadata containingClass()
public ReflectClass getStoredType()
StoredFieldStoredField.isArray() to detect arrays.getStoredType in interface StoredFieldpublic ObjectContainerBase container()
public boolean hasConfig()
public boolean hasIndex()
StoredFieldhasIndex in interface StoredFieldpublic final void init(java.lang.String name)
public void init(java.lang.String name,
int fieldTypeID,
boolean isPrimitive,
boolean isArray,
boolean isNArray)
public void activate(UnmarshallingContext context)
activate in class ClassAspectpublic void attemptUpdate(UnmarshallingContext context)
public boolean isArray()
StoredFieldisArray in interface StoredFieldpublic int linkLength(HandlerVersionContext context)
linkLength in class ClassAspectpublic void loadFieldTypeById()
protected TypeHandler4 typeHandlerForClass(ObjectContainerBase container, ReflectClass fieldType)
public void marshall(MarshallingContext context, java.lang.Object obj)
marshall in class ClassAspectpublic boolean needsArrayAndPrimitiveInfo()
public PreparedComparison prepareComparison(Context context, java.lang.Object obj)
public QField qField(Transaction a_trans)
public java.lang.Object read(ObjectIdContext context)
public void rename(java.lang.String newName)
StoredFieldrename in interface StoredFieldnewName - the new namepublic void set(java.lang.Object onObject,
java.lang.Object obj)
public final void traverseValues(Visitor4 userVisitor)
StoredFieldtraverseValues in interface StoredFielduserVisitor - the visitor to be called with each index value.public final void traverseValues(Transaction transaction, Visitor4 userVisitor)
public java.lang.String toString()
toString in class java.lang.Objectpublic void initIndex(Transaction systemTrans, int id)
protected final BTree newBTree(Transaction systemTrans, int id)
protected Indexable4 indexHandler(ObjectContainerBase stream)
public BTree getIndex(Transaction trans)
trans - public boolean isVirtual()
public boolean isPrimitive()
public BTreeRange search(Transaction transaction, java.lang.Object value)
public boolean rebuildIndexForClass(LocalObjectContainer stream, ClassMetadata classMetadata)
protected void rebuildIndexForObject(LocalObjectContainer stream, ClassMetadata classMetadata, int objectId) throws FieldIndexException
FieldIndexExceptionprotected void rebuildIndexForWriter(LocalObjectContainer stream, StatefulBuffer writer, int objectId)
public final void dropIndex(LocalTransaction systemTrans)
public void defragAspect(DefragmentContext context)
defragAspect in class ClassAspectpublic void createIndex()
StoredFieldcreateIndex in interface StoredFieldpublic AspectType aspectType()
aspectType in class ClassAspectpublic boolean canBeDisabled()
canBeDisabled in class ClassAspectpublic void dropIndex()
StoredFielddropIndex in interface StoredFieldpublic boolean canUpdateFast()