Package com.db4o.internal
Class FieldMetadata
- java.lang.Object
- 
- com.db4o.internal.ClassAspect
- 
- com.db4o.internal.FieldMetadata
 
 
- 
- All Implemented Interfaces:
- StoredField
 - Direct Known Subclasses:
- NullFieldMetadata,- TranslatedAspect,- UnknownTypeHandlerAspect,- VirtualFieldMetadata
 
 public class FieldMetadata extends ClassAspect implements StoredField 
- 
- 
Field SummaryFields Modifier and Type Field Description protected ClassMetadata_fieldTypeprotected int_fieldTypeIDprotected boolean_isArray- 
Fields inherited from class com.db4o.internal.ClassAspect_handle
 
- 
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedFieldMetadata(int fieldTypeID)FieldMetadata(ClassMetadata classMetadata)protectedFieldMetadata(ClassMetadata containingClass, java.lang.String name)FieldMetadata(ClassMetadata containingClass, java.lang.String name, int fieldTypeID, boolean primitive, boolean isArray, boolean isNArray)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivate(UnmarshallingContext context)voidaddFieldIndex(ObjectIdContextImpl context)protected voidaddIndexEntry(StatefulBuffer a_bytes, java.lang.Object indexEntry)voidaddIndexEntry(Transaction trans, int parentID, java.lang.Object indexEntry)booleanalive()AspectTypeaspectType()voidattemptUpdate(UnmarshallingContext context)booleancanBeDisabled()booleancanLoadByIndex()booleancanUpdateFast()booleancanUseNullBitmap()voidcascadeActivation(ActivationContext context)protected java.lang.ObjectcascadingTarget(ActivationContext context)java.lang.Objectcoerce(ReflectClass valueClass, java.lang.Object value)voidcollectIDs(CollectIdContext context)ObjectContainerBasecontainer()ClassMetadatacontainingClass()protected FieldIndexKeycreateFieldIndexKey(int parentID, java.lang.Object indexEntry)voidcreateIndex()creates an index on this field at runtime.voiddeactivate(ActivationContext context)voiddefragAspect(DefragmentContext context)voiddelete(DeleteContextImpl context, boolean isUpdate)voiddropIndex()drops an existing index on this field at runtime.voiddropIndex(LocalTransaction systemTrans)booleanequals(java.lang.Object obj)ClassMetadatafieldType()intfieldTypeID()java.lang.Objectget(Transaction trans, java.lang.Object onObject)java.lang.Objectget(java.lang.Object onObject)returns the field value on the passed object.TypeHandler4getHandler()BTreegetIndex(Transaction trans)java.lang.StringgetName()returns the name of the field.java.lang.ObjectgetOn(Transaction trans, java.lang.Object onObject)java.lang.ObjectgetOrCreate(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 Db4oTypesReflectClassgetStoredType()returns the Class (Java) / Type (.NET) of the field.booleanhasConfig()inthashCode()booleanhasIndex()Returns whether this field has an index or not.protected java.lang.ObjectindexEntryFor(java.lang.Object indexEntry)protected Indexable4indexHandler(ObjectContainerBase stream)voidinit(java.lang.String name)voidinit(java.lang.String name, int fieldTypeID, boolean isPrimitive, boolean isArray, boolean isNArray)voidinitIndex(Transaction systemTrans, int id)booleanisArray()returns true if the field is an array.booleanisPrimitive()intlinkLength(HandlerVersionContext context)voidloadFieldTypeById()voidmarshall(MarshallingContext context, java.lang.Object obj)booleanneedsArrayAndPrimitiveInfo()protected BTreenewBTree(Transaction systemTrans, int id)PreparedComparisonprepareComparison(Context context, java.lang.Object obj)QFieldqField(Transaction a_trans)java.lang.Objectread(ObjectIdContext context)java.lang.ObjectreadIndexEntry(ObjectIdContext context)booleanrebuildIndexForClass(LocalObjectContainer stream, ClassMetadata classMetadata)protected voidrebuildIndexForObject(LocalObjectContainer stream, ClassMetadata classMetadata, int objectId)protected voidrebuildIndexForWriter(LocalObjectContainer stream, StatefulBuffer writer, int objectId)GenericReflectorreflector()voidremoveIndexEntry(Transaction trans, int parentID, java.lang.Object indexEntry)voidrename(java.lang.String newName)modifies the name of this stored field.BTreeRangesearch(Transaction transaction, java.lang.Object value)voidset(java.lang.Object onObject, java.lang.Object obj)protected voidsetAvailable()java.lang.StringtoString()protected java.lang.ClasstranslatorStoredClass(ObjectTranslator translator)voidtraverseValues(Visitor4 userVisitor)specialized highspeed API to collect all values of a field for all instances of a class, if the field is indexed.voidtraverseValues(Transaction transaction, Visitor4 userVisitor)protected TypeHandler4typeHandlerForClass(ObjectContainerBase container, ReflectClass fieldType)booleanupdating()protected TypeHandler4wrapHandlerToArrays(TypeHandler4 handler)- 
Methods inherited from class com.db4o.internal.ClassAspectcheckEnabled, disableFromAspectCountVersion, incrementOffset, isEnabledOn, isVirtual, setHandle
 
- 
 
- 
- 
- 
Field Detail- 
_isArrayprotected boolean _isArray 
 - 
_fieldTypeprotected ClassMetadata _fieldType 
 - 
_fieldTypeIDprotected int _fieldTypeID 
 
- 
 - 
Constructor Detail- 
FieldMetadatapublic FieldMetadata(ClassMetadata classMetadata) 
 - 
FieldMetadataprotected FieldMetadata(int fieldTypeID) 
 - 
FieldMetadatapublic FieldMetadata(ClassMetadata containingClass, java.lang.String name, int fieldTypeID, boolean primitive, boolean isArray, boolean isNArray) 
 - 
FieldMetadataprotected FieldMetadata(ClassMetadata containingClass, java.lang.String name) 
 
- 
 - 
Method Detail- 
translatorStoredClassprotected final java.lang.Class translatorStoredClass(ObjectTranslator translator) 
 - 
setAvailableprotected void setAvailable() 
 - 
addFieldIndexpublic void addFieldIndex(ObjectIdContextImpl context) throws FieldIndexException - Throws:
- FieldIndexException
 
 - 
addIndexEntryprotected final void addIndexEntry(StatefulBuffer a_bytes, java.lang.Object indexEntry) 
 - 
addIndexEntrypublic void addIndexEntry(Transaction trans, int parentID, java.lang.Object indexEntry) 
 - 
createFieldIndexKeyprotected FieldIndexKey createFieldIndexKey(int parentID, java.lang.Object indexEntry) 
 - 
indexEntryForprotected java.lang.Object indexEntryFor(java.lang.Object indexEntry) 
 - 
canUseNullBitmappublic boolean canUseNullBitmap() 
 - 
readIndexEntrypublic final java.lang.Object readIndexEntry(ObjectIdContext context) throws CorruptionException, Db4oIOException - Throws:
- CorruptionException
- Db4oIOException
 
 - 
removeIndexEntrypublic void removeIndexEntry(Transaction trans, int parentID, java.lang.Object indexEntry) 
 - 
alivepublic boolean alive() 
 - 
updatingpublic boolean updating() 
 - 
reflectorpublic GenericReflector reflector() 
 - 
coercepublic java.lang.Object coerce(ReflectClass valueClass, java.lang.Object value) 
 - 
canLoadByIndexpublic final boolean canLoadByIndex() 
 - 
cascadeActivationpublic final void cascadeActivation(ActivationContext context) - Specified by:
- cascadeActivationin class- ClassAspect
 
 - 
cascadingTargetprotected final java.lang.Object cascadingTarget(ActivationContext context) 
 - 
collectIDspublic final void collectIDs(CollectIdContext context) throws FieldIndexException - Specified by:
- collectIDsin class- ClassAspect
- Throws:
- FieldIndexException
 
 - 
wrapHandlerToArraysprotected final TypeHandler4 wrapHandlerToArrays(TypeHandler4 handler) 
 - 
deactivatepublic void deactivate(ActivationContext context) - Specified by:
- deactivatein class- ClassAspect
 
 - 
deletepublic void delete(DeleteContextImpl context, boolean isUpdate) throws FieldIndexException - Specified by:
- deletein class- ClassAspect
- Throws:
- FieldIndexException
 
 - 
equalspublic boolean equals(java.lang.Object obj) - Overrides:
- equalsin class- java.lang.Object
 
 - 
hashCodepublic int hashCode() - Overrides:
- hashCodein class- java.lang.Object
 
 - 
getpublic final java.lang.Object get(java.lang.Object onObject) Description copied from interface:StoredFieldreturns the field value on the passed object.
 This method will also work, if the field is not present in the current version of the class.
 It is recommended to use this method for refactoring purposes, if fields are removed and the field values need to be copied to other fields.- Specified by:
- getin interface- StoredField
 
 - 
getpublic final java.lang.Object get(Transaction trans, java.lang.Object onObject) 
 - 
getNamepublic java.lang.String getName() Description copied from interface:StoredFieldreturns the name of the field.- Specified by:
- getNamein interface- StoredField
- Specified by:
- getNamein class- ClassAspect
 
 - 
fieldTypepublic final ClassMetadata fieldType() 
 - 
getHandlerpublic TypeHandler4 getHandler() 
 - 
fieldTypeIDpublic int fieldTypeID() 
 - 
getOnpublic java.lang.Object getOn(Transaction trans, java.lang.Object onObject) 
 - 
getOrCreatepublic 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
 - 
containingClasspublic final ClassMetadata containingClass() 
 - 
getStoredTypepublic ReflectClass getStoredType() Description copied from interface:StoredFieldreturns the Class (Java) / Type (.NET) of the field.
 For array fields this method will return the type of the array. UseStoredField.isArray()to detect arrays.- Specified by:
- getStoredTypein interface- StoredField
 
 - 
containerpublic ObjectContainerBase container() 
 - 
hasConfigpublic boolean hasConfig() 
 - 
hasIndexpublic boolean hasIndex() Description copied from interface:StoredFieldReturns whether this field has an index or not.- Specified by:
- hasIndexin interface- StoredField
- Returns:
- true if this field has an index.
 
 - 
initpublic final void init(java.lang.String name) 
 - 
initpublic void init(java.lang.String name, int fieldTypeID, boolean isPrimitive, boolean isArray, boolean isNArray)
 - 
activatepublic void activate(UnmarshallingContext context) - Specified by:
- activatein class- ClassAspect
 
 - 
attemptUpdatepublic void attemptUpdate(UnmarshallingContext context) 
 - 
isArraypublic boolean isArray() Description copied from interface:StoredFieldreturns true if the field is an array.- Specified by:
- isArrayin interface- StoredField
 
 - 
linkLengthpublic int linkLength(HandlerVersionContext context) - Specified by:
- linkLengthin class- ClassAspect
 
 - 
loadFieldTypeByIdpublic void loadFieldTypeById() 
 - 
typeHandlerForClassprotected TypeHandler4 typeHandlerForClass(ObjectContainerBase container, ReflectClass fieldType) 
 - 
marshallpublic void marshall(MarshallingContext context, java.lang.Object obj) - Specified by:
- marshallin class- ClassAspect
 
 - 
needsArrayAndPrimitiveInfopublic boolean needsArrayAndPrimitiveInfo() 
 - 
prepareComparisonpublic PreparedComparison prepareComparison(Context context, java.lang.Object obj) 
 - 
qFieldpublic QField qField(Transaction a_trans) 
 - 
readpublic java.lang.Object read(ObjectIdContext context) 
 - 
renamepublic void rename(java.lang.String newName) Description copied from interface:StoredFieldmodifies the name of this stored field.
 After renaming one or multiple fields the ObjectContainer has to be closed and reopened to allow internal caches to be refreshed.- Specified by:
- renamein interface- StoredField
- Parameters:
- newName- the new name
 
 - 
setpublic void set(java.lang.Object onObject, java.lang.Object obj)
 - 
traverseValuespublic final void traverseValues(Visitor4 userVisitor) Description copied from interface:StoredFieldspecialized highspeed API to collect all values of a field for all instances of a class, if the field is indexed.
 The field values will be taken directly from the index without the detour through class indexes or object instantiation.
 If this method is used to get the values of a first class object index, deactivated objects will be passed to the visitor.- Specified by:
- traverseValuesin interface- StoredField
- Parameters:
- userVisitor- the visitor to be called with each index value.
 
 - 
traverseValuespublic final void traverseValues(Transaction transaction, Visitor4 userVisitor) 
 - 
toStringpublic java.lang.String toString() - Overrides:
- toStringin class- java.lang.Object
 
 - 
initIndexpublic void initIndex(Transaction systemTrans, int id) 
 - 
newBTreeprotected final BTree newBTree(Transaction systemTrans, int id) 
 - 
indexHandlerprotected Indexable4 indexHandler(ObjectContainerBase stream) 
 - 
getIndexpublic BTree getIndex(Transaction trans) - Parameters:
- trans-
 
 - 
isPrimitivepublic boolean isPrimitive() 
 - 
searchpublic BTreeRange search(Transaction transaction, java.lang.Object value) 
 - 
rebuildIndexForClasspublic boolean rebuildIndexForClass(LocalObjectContainer stream, ClassMetadata classMetadata) 
 - 
rebuildIndexForObjectprotected void rebuildIndexForObject(LocalObjectContainer stream, ClassMetadata classMetadata, int objectId) throws FieldIndexException - Throws:
- FieldIndexException
 
 - 
rebuildIndexForWriterprotected void rebuildIndexForWriter(LocalObjectContainer stream, StatefulBuffer writer, int objectId) 
 - 
dropIndexpublic final void dropIndex(LocalTransaction systemTrans) 
 - 
defragAspectpublic void defragAspect(DefragmentContext context) - Specified by:
- defragAspectin class- ClassAspect
 
 - 
createIndexpublic void createIndex() Description copied from interface:StoredFieldcreates an index on this field at runtime.- Specified by:
- createIndexin interface- StoredField
 
 - 
aspectTypepublic AspectType aspectType() - Specified by:
- aspectTypein class- ClassAspect
 
 - 
canBeDisabledpublic boolean canBeDisabled() - Specified by:
- canBeDisabledin class- ClassAspect
 
 - 
dropIndexpublic void dropIndex() Description copied from interface:StoredFielddrops an existing index on this field at runtime.- Specified by:
- dropIndexin interface- StoredField
 
 - 
canUpdateFastpublic boolean canUpdateFast() 
 
- 
 
-