org.neodatis.odb.impl.core.transaction
Class Cache
- java.lang.Object
-
- org.neodatis.odb.impl.core.transaction.Cache
-
- All Implemented Interfaces:
- ICache
- Direct Known Subclasses:
- LazyCache, ServerCache
public class Cache extends java.lang.Object implements ICache
A cache of object.Cache objects by object, by position, by oids,...
-
-
Constructor Summary
Constructors Constructor and Description Cache(ISession session, java.lang.String name)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddObject(OID oid, java.lang.Object object, ObjectInfoHeader objectInfoHeader)voidaddObjectInfo(ObjectInfoHeader objectInfoHeader)Only adds the Object info - used for non committed objectsvoidaddOIDToUnconnectedZone(OID oid)voidclear(boolean setToNull)voidclearInsertingObjects()voidclearOnCommit()voidendInsertingObject(java.lang.Object object)voidendReadingObjectInfo(OID oid)booleanexistObject(java.lang.Object object)intgetNumberOfObjectHeader()intgetNumberOfObjects()ObjectInfoHeadergetObjectInfoHeaderFromObject(java.lang.Object object, boolean throwExceptionIfNotFound)ObjectInfoHeadergetObjectInfoHeaderFromOid(OID oid, boolean throwExceptionIfNotFound)java.util.Map<OID,ObjectInfoHeader>getObjectInfoPointersCacheFromOid()longgetObjectPositionByOid(OID oid)Returns the position or -1 if it is not is the cache or StorageEngineConstant.NULL_OBJECT_ID_ID if it has been marked as deletedjava.util.Map<java.lang.Object,OID>getObjects()java.lang.ObjectgetObjectWithOid(OID oid)OIDgetOid(java.lang.Object object, boolean throwExceptionIfNotFound)java.util.Map<OID,java.lang.Object>getOids()NonNativeObjectInfogetReadingObjectInfoFromOid(OID oid)OIDidOfInsertingObject(java.lang.Object object)intinsertingLevelOf(java.lang.Object object)booleanisDeleted(OID oid)booleanisReadingObjectInfoWithOid(OID oid)voidmarkIdAsDeleted(OID oid)booleanobjectWithIdIsInCommitedZone(OID oid)voidremoveObject(java.lang.Object object)voidremoveObjectWithOid(OID oid)voidsavePositionOfObjectWithOid(OID oid, long objectPosition)To resolve uncommitted updates where the oid change and is not committed yetvoidsetObjectInfoPointersCacheFromOid(java.util.Map<OID,ObjectInfoHeader> objectInfoPointersCacheFromOid)voidsetObjects(java.util.Map<java.lang.Object,OID> objects)voidsetOids(java.util.Map<OID,java.lang.Object> oids)voidstartInsertingObjectWithOid(java.lang.Object object, OID oid, NonNativeObjectInfo nnoi)voidstartReadingObjectInfoWithOid(OID oid, NonNativeObjectInfo objectInfo)To resolve cyclic reference, keep track of objects being read The read count is used to store how many times the object has been recursively readjava.lang.StringtoCompleteString()java.lang.StringtoString()voidupdateIdOfInsertingObject(java.lang.Object object, OID oid)static java.lang.Stringusage()
-
-
-
Constructor Detail
-
Cache
public Cache(ISession session, java.lang.String name)
-
-
Method Detail
-
addObject
public void addObject(OID oid, java.lang.Object object, ObjectInfoHeader objectInfoHeader)
-
addObjectInfo
public void addObjectInfo(ObjectInfoHeader objectInfoHeader)
Only adds the Object info - used for non committed objects- Specified by:
addObjectInfoin interfaceICache
-
startInsertingObjectWithOid
public void startInsertingObjectWithOid(java.lang.Object object, OID oid, NonNativeObjectInfo nnoi)- Specified by:
startInsertingObjectWithOidin interfaceICache
-
updateIdOfInsertingObject
public void updateIdOfInsertingObject(java.lang.Object object, OID oid)- Specified by:
updateIdOfInsertingObjectin interfaceICache
-
endInsertingObject
public void endInsertingObject(java.lang.Object object)
- Specified by:
endInsertingObjectin interfaceICache
-
removeObjectWithOid
public void removeObjectWithOid(OID oid)
- Specified by:
removeObjectWithOidin interfaceICache
-
removeObject
public void removeObject(java.lang.Object object)
- Specified by:
removeObjectin interfaceICache
-
existObject
public boolean existObject(java.lang.Object object)
- Specified by:
existObjectin interfaceICache
-
getObjectWithOid
public java.lang.Object getObjectWithOid(OID oid)
- Specified by:
getObjectWithOidin interfaceICache
-
getObjectInfoHeaderFromObject
public ObjectInfoHeader getObjectInfoHeaderFromObject(java.lang.Object object, boolean throwExceptionIfNotFound)
- Specified by:
getObjectInfoHeaderFromObjectin interfaceICache
-
getObjectInfoHeaderFromOid
public ObjectInfoHeader getObjectInfoHeaderFromOid(OID oid, boolean throwExceptionIfNotFound)
- Specified by:
getObjectInfoHeaderFromOidin interfaceICache
-
getOid
public OID getOid(java.lang.Object object, boolean throwExceptionIfNotFound)
-
savePositionOfObjectWithOid
public void savePositionOfObjectWithOid(OID oid, long objectPosition)
Description copied from interface:ICacheTo resolve uncommitted updates where the oid change and is not committed yet- Specified by:
savePositionOfObjectWithOidin interfaceICache
-
markIdAsDeleted
public void markIdAsDeleted(OID oid)
- Specified by:
markIdAsDeletedin interfaceICache
-
getObjectPositionByOid
public long getObjectPositionByOid(OID oid)
Returns the position or -1 if it is not is the cache or StorageEngineConstant.NULL_OBJECT_ID_ID if it has been marked as deleted- Specified by:
getObjectPositionByOidin interfaceICache
-
clearOnCommit
public void clearOnCommit()
- Specified by:
clearOnCommitin interfaceICache
-
clearInsertingObjects
public void clearInsertingObjects()
- Specified by:
clearInsertingObjectsin interfaceICache
-
toString
public java.lang.String toString()
-
toCompleteString
public java.lang.String toCompleteString()
- Specified by:
toCompleteStringin interfaceICache
-
getNumberOfObjects
public int getNumberOfObjects()
- Specified by:
getNumberOfObjectsin interfaceICache
-
getNumberOfObjectHeader
public int getNumberOfObjectHeader()
- Specified by:
getNumberOfObjectHeaderin interfaceICache
-
idOfInsertingObject
public OID idOfInsertingObject(java.lang.Object object)
- Specified by:
idOfInsertingObjectin interfaceICache
-
insertingLevelOf
public int insertingLevelOf(java.lang.Object object)
- Specified by:
insertingLevelOfin interfaceICache
-
isReadingObjectInfoWithOid
public boolean isReadingObjectInfoWithOid(OID oid)
- Specified by:
isReadingObjectInfoWithOidin interfaceICache
-
getReadingObjectInfoFromOid
public NonNativeObjectInfo getReadingObjectInfoFromOid(OID oid)
- Specified by:
getReadingObjectInfoFromOidin interfaceICache
-
startReadingObjectInfoWithOid
public void startReadingObjectInfoWithOid(OID oid, NonNativeObjectInfo objectInfo)
Description copied from interface:ICacheTo resolve cyclic reference, keep track of objects being read The read count is used to store how many times the object has been recursively read- Specified by:
startReadingObjectInfoWithOidin interfaceICache- Parameters:
oid- The Object OIDobjectInfo- The object info (not fully set) that is being read
-
endReadingObjectInfo
public void endReadingObjectInfo(OID oid)
- Specified by:
endReadingObjectInfoin interfaceICache
-
getOids
public java.util.Map<OID,java.lang.Object> getOids()
-
setOids
public void setOids(java.util.Map<OID,java.lang.Object> oids)
-
getObjectInfoPointersCacheFromOid
public java.util.Map<OID,ObjectInfoHeader> getObjectInfoPointersCacheFromOid()
- Specified by:
getObjectInfoPointersCacheFromOidin interfaceICache
-
setObjectInfoPointersCacheFromOid
public void setObjectInfoPointersCacheFromOid(java.util.Map<OID,ObjectInfoHeader> objectInfoPointersCacheFromOid)
-
getObjects
public java.util.Map<java.lang.Object,OID> getObjects()
- Specified by:
getObjectsin interfaceICache
-
setObjects
public void setObjects(java.util.Map<java.lang.Object,OID> objects)
-
objectWithIdIsInCommitedZone
public boolean objectWithIdIsInCommitedZone(OID oid)
- Specified by:
objectWithIdIsInCommitedZonein interfaceICache
-
addOIDToUnconnectedZone
public void addOIDToUnconnectedZone(OID oid)
- Specified by:
addOIDToUnconnectedZonein interfaceICache
-
usage
public static java.lang.String usage()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG