Package com.db4o.internal.handlers
Class StandardReferenceTypeHandler
- java.lang.Object
-
- com.db4o.internal.handlers.StandardReferenceTypeHandler
-
- All Implemented Interfaces:
DeepClone,Comparable4,FieldAwareTypeHandler,VirtualAttributeHandler,Indexable4,IndexableTypeHandler,LinkLengthAware,ReadsObjectIds,VersionedTypeHandler,CascadingTypeHandler,ReferenceTypeHandler,TypeHandler4
- Direct Known Subclasses:
StandardReferenceTypeHandler0
public class StandardReferenceTypeHandler extends java.lang.Object implements FieldAwareTypeHandler, IndexableTypeHandler, ReadsObjectIds
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStandardReferenceTypeHandler.PreparedComparisonImpl
-
Constructor Summary
Constructors Constructor Description StandardReferenceTypeHandler()StandardReferenceTypeHandler(ClassMetadata classMetadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivate(ReferenceActivationContext context)gets called when an object is to be activated.voidactivateAspects(UnmarshallingContext context)voidaddFieldIndices(ObjectIdContextImpl context)voidcascadeActivation(ActivationContext context)will be called during activation if the handled object is already activeClassMetadataclassMetadata()voidclassMetadata(ClassMetadata classMetadata)voidcollectIDs(CollectIdContext context, Predicate4<ClassAspect> predicate)voidcollectIDs(QueryingReadContext context)will be called during querying to ask for IDs of member objects of the handled object.java.lang.ObjectdeepClone(java.lang.Object context)The parameter allows passing one new object so parent references can be corrected on children.voiddefragIndexEntry(DefragmentContextImpl context)voiddefragment(DefragmentContext context)gets called when an object gets defragmented.TypeHandler4delegateTypeHandler(Context context)voiddelete(DeleteContext context)gets called when an object gets deleted.voiddeleteMembers(DeleteContextImpl context, boolean isUpdate)protected MarshallingInfoensureFieldList(MarshallingInfo context)booleanequals(java.lang.Object obj)inthashCode()java.lang.ObjectindexEntryToObject(Context context, java.lang.Object indexEntry)intlinkLength()voidmarshallAspects(java.lang.Object obj, MarshallingContext context)PreparedComparisonprepareComparison(Context context, java.lang.Object source)creates a prepared comparison to compare multiple objects against one single object.TypeHandler4readCandidateHandler(QueryingReadContext context)will be called during querying to ask for the handler to be used to collect children of the handled objectjava.lang.ObjectreadIndexEntry(ObjectIdContext context)java.lang.ObjectreadIndexEntry(Context context, ByteArrayBuffer a_reader)java.lang.ObjectreadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer statefulBuffer)ObjectIDreadObjectID(InternalReadContext context)voidreadVirtualAttributes(ObjectReferenceContext context)booleanseekToField(ObjectHeaderContext context, ClassAspect aspect)voidtraverseAllAspects(MarshallingInfo context, TraverseAspectCommand command)TypeHandler4unversionedTemplate()voidwrite(WriteContext context, java.lang.Object obj)gets called when an object is to be written to the database.voidwriteIndexEntry(Context context, ByteArrayBuffer a_writer, java.lang.Object a_object)
-
-
-
Constructor Detail
-
StandardReferenceTypeHandler
public StandardReferenceTypeHandler(ClassMetadata classMetadata)
-
StandardReferenceTypeHandler
public StandardReferenceTypeHandler()
-
-
Method Detail
-
defragment
public void defragment(DefragmentContext context)
Description copied from interface:TypeHandler4gets called when an object gets defragmented.- Specified by:
defragmentin interfaceTypeHandler4
-
delete
public void delete(DeleteContext context) throws Db4oIOException
Description copied from interface:TypeHandler4gets called when an object gets deleted.- Specified by:
deletein interfaceTypeHandler4- Throws:
Db4oIOException
-
activateAspects
public final void activateAspects(UnmarshallingContext context)
-
activate
public void activate(ReferenceActivationContext context)
Description copied from interface:ReferenceTypeHandlergets called when an object is to be activated.- Specified by:
activatein interfaceReferenceTypeHandler
-
write
public void write(WriteContext context, java.lang.Object obj)
Description copied from interface:TypeHandler4gets called when an object is to be written to the database.- Specified by:
writein interfaceTypeHandler4obj- the object
-
marshallAspects
public void marshallAspects(java.lang.Object obj, MarshallingContext context)
-
prepareComparison
public PreparedComparison prepareComparison(Context context, java.lang.Object source)
Description copied from interface:Comparable4creates a prepared comparison to compare multiple objects against one single object.- Specified by:
prepareComparisonin interfaceComparable4- Parameters:
context- the context of the comparisonsource- the object that is to be compared against multiple other objects- Returns:
- the prepared comparison
-
traverseAllAspects
public final void traverseAllAspects(MarshallingInfo context, TraverseAspectCommand command)
-
ensureFieldList
protected MarshallingInfo ensureFieldList(MarshallingInfo context)
-
classMetadata
public ClassMetadata classMetadata()
-
classMetadata
public void classMetadata(ClassMetadata classMetadata)
- Specified by:
classMetadatain interfaceFieldAwareTypeHandler
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
unversionedTemplate
public TypeHandler4 unversionedTemplate()
- Specified by:
unversionedTemplatein interfaceVersionedTypeHandler
-
deepClone
public java.lang.Object deepClone(java.lang.Object context)
Description copied from interface:DeepCloneThe parameter allows passing one new object so parent references can be corrected on children.
-
collectIDs
public void collectIDs(CollectIdContext context, Predicate4<ClassAspect> predicate)
- Specified by:
collectIDsin interfaceFieldAwareTypeHandler
-
cascadeActivation
public void cascadeActivation(ActivationContext context)
Description copied from interface:CascadingTypeHandlerwill be called during activation if the handled object is already active- Specified by:
cascadeActivationin interfaceCascadingTypeHandler
-
readCandidateHandler
public TypeHandler4 readCandidateHandler(QueryingReadContext context)
Description copied from interface:CascadingTypeHandlerwill be called during querying to ask for the handler to be used to collect children of the handled object- Specified by:
readCandidateHandlerin interfaceCascadingTypeHandler- Returns:
-
collectIDs
public void collectIDs(QueryingReadContext context) throws Db4oIOException
Description copied from interface:CascadingTypeHandlerwill be called during querying to ask for IDs of member objects of the handled object.- Specified by:
collectIDsin interfaceCascadingTypeHandler- Throws:
Db4oIOException
-
readVirtualAttributes
public void readVirtualAttributes(ObjectReferenceContext context)
- Specified by:
readVirtualAttributesin interfaceFieldAwareTypeHandler- Specified by:
readVirtualAttributesin interfaceVirtualAttributeHandler
-
addFieldIndices
public void addFieldIndices(ObjectIdContextImpl context)
- Specified by:
addFieldIndicesin interfaceFieldAwareTypeHandler
-
deleteMembers
public void deleteMembers(DeleteContextImpl context, boolean isUpdate)
- Specified by:
deleteMembersin interfaceFieldAwareTypeHandler
-
seekToField
public boolean seekToField(ObjectHeaderContext context, ClassAspect aspect)
- Specified by:
seekToFieldin interfaceFieldAwareTypeHandler
-
indexEntryToObject
public final java.lang.Object indexEntryToObject(Context context, java.lang.Object indexEntry)
- Specified by:
indexEntryToObjectin interfaceIndexableTypeHandler
-
defragIndexEntry
public final void defragIndexEntry(DefragmentContextImpl context)
- Specified by:
defragIndexEntryin interfaceIndexable4
-
readIndexEntry
public final java.lang.Object readIndexEntry(Context context, ByteArrayBuffer a_reader)
- Specified by:
readIndexEntryin interfaceIndexable4
-
readIndexEntryFromObjectSlot
public final java.lang.Object readIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer statefulBuffer) throws CorruptionException
- Specified by:
readIndexEntryFromObjectSlotin interfaceIndexableTypeHandler- Throws:
CorruptionException
-
readIndexEntry
public java.lang.Object readIndexEntry(ObjectIdContext context) throws CorruptionException, Db4oIOException
- Specified by:
readIndexEntryin interfaceIndexableTypeHandler- Throws:
CorruptionExceptionDb4oIOException
-
linkLength
public int linkLength()
- Specified by:
linkLengthin interfaceLinkLengthAware
-
writeIndexEntry
public void writeIndexEntry(Context context, ByteArrayBuffer a_writer, java.lang.Object a_object)
- Specified by:
writeIndexEntryin interfaceIndexable4
-
delegateTypeHandler
public TypeHandler4 delegateTypeHandler(Context context)
-
readObjectID
public ObjectID readObjectID(InternalReadContext context)
- Specified by:
readObjectIDin interfaceReadsObjectIds
-
-