@NotStorableClass public class ObjectIOManager extends AbstractObjectIOManagerDelegatingToStateMap
net.sf.joafip.store.service.objectio.serialize.ObjectIOLazyGenericclassNameManager, currentDataModelIdentifier, HEADER_DATA_SIZE, helperBinaryConversion, helperReflect, logger, OBJECT_MUST_HAVE_DATA_RECORD_IDENTIFIER_SET, objectInputEnum, objectOutputsclassInfoFactory| Constructor and Description |
|---|
ObjectIOManager(int currentDataModelIdentifier,
IHeapDataManager dataManager,
boolean proxyMode,
IClassNameManager classNameManager,
StoreSynchro storeSynchro,
ClassInfoFactory classInfoFactory,
HelperBinaryConversion helperBinaryConversion,
ProxyManager2 proxyManager2) |
| Modifier and Type | Method and Description |
|---|---|
protected DataRecordIdentifier |
associateNewDataRecordIdentifierToObject(ObjectAndPersistInfo objectAndPersistInfo) |
protected void |
autoSave() |
protected void |
checkForAutoSave() |
void |
closeChangeLog()
close change log file
|
ObjectAndPersistInfo |
createReadingInStoreGenericObjectNotLazy(DataRecordIdentifier dataRecordIdentifier)
near as
#createObjectReadingInStoreOrGetExisting(Long, Class) but
force direct loading. |
long |
getCurrentFileAccessSessionIdentifier() |
byte[] |
getDataOfDataRecord(DataRecordIdentifier dataRecordIdentifier)
get data of data record for an identifier
|
IGarbageManagerForLinkUpdate |
getGarbageManager() |
JoafipMutex |
getStoreMutex()
get the mutex for storage file access
|
boolean |
isAutoSaveEnabled() |
boolean |
isGarbageManagement() |
boolean |
isMaintainInMemoryEnabled() |
boolean |
isRunAutosaveEnableAndDisable() |
boolean |
isValueChanged(ObjectAndPersistInfo objectAndPersistInfo) |
Map<DataRecordIdentifier,byte[]> |
loadChangeLog(String fileName)
load change log in memory from a change log file
|
protected void |
notToGarbage(DataRecordIdentifier dataRecordIdentifier,
ObjectAndPersistInfo objectAndPersistInfo) |
void |
objectIsAccessed(ObjectAndPersistInfo objectAndPersistInfo)
call when object is accessed
|
void |
openChangeLog(String changeFileName)
|
void |
setAutoSaveEnabled(boolean enabled,
int maxInMemoryThreshold) |
void |
setAutoSaveEventListener(IAutoSaveEventListener saveEventListener) |
void |
setExclusiveAccessSession(boolean exclusiveAccessSession) |
void |
setGarbageManagement(boolean garbageManagement,
IGarbageManagerForLinkUpdate garbageManager) |
void |
setMaintainedInMemoryQuota(int maintainedInMemoryQuota) |
void |
setMaintenedInMemoryEnabled(boolean maintainInMemoryEnabled,
int maintainedInMemoryQuota) |
void |
setMaxInMemoryThreshold(int maxInMemoryThreshold) |
void |
setRunAutosaveEnable(boolean runAutosaveEnable) |
void |
setSaver(IFilePersistenceAutoSaver saver) |
void |
storeInChangeLog(ObjectAndPersistInfo objectAndPersistInfo)
write object in serialized form to change log
|
void |
unsetProxyObjectState(ObjectAndPersistInfo objectAndPersistInfo) |
ObjectClassInfoAndDeclared[] |
willNotBeWrote(ObjectAndPersistInfo objectAndPersistInfo)
notify that object will not be wrote
|
protected void |
writeDataRecord(DataRecordIdentifier dataRecordIdentifier,
byte[] data) |
clearObjectAndPersistInfoByDataRecordIdentifier, clearObjectState, closeObjectState, createObjectAndPersistInfoOfObjectImpl, createSubstitutedObjectAndPersistInfoOfObjectImpl, dataRecordIdentifierAssociatedToObjectSetted, getDataRecordIdentifierAssociatedToObject, getNumberOfObjectState, getNumberOfReferenced, getNumberOfWeakReference, getObjectAndPersistInfoOfObject, getObjectAndPersistInfoOfObjectFromQueue, getObjectAndPersistInfoOfObjectFromQueue, getObjectByIdentifier, getObjectHavingStateSet, getObjectStateMap, isExclusiveAccessSession, listenStateMapClean, mostAccessedObject, objectHasPersistenceState, objectIsAccessedDelegate, setExclusiveAccessSessionDelegate, setMaintainedInMemoryQuotaDelegate, setTrackingOfAccessedObjectEnabledDelegate, weakReferenceOnObjectassertNotSubstituted, createObjectPersistInfoOfObject, createObjectPersistInfoOfObject, createObjectReadingInStore, createObjectReadingInStoreOrGetExisting, createSubstituteObjectPersistInfoOfObject, deepCopy, getBodyDataFromRecord, getClassInfoFactory, getClassInfoInDataRecord, getCurrentDataModelIdentifier, getObjectInput, getObjectIOInputStream, getObjectIOOutputStream, getObjectLinkTreeNode, getObjectOutput, getOrCreateDataRecordIdentifierAssociatedToObject, getOrCreateObjectPersistInfoOfObject, getOrCreateObjectPersistInfoOfObject, getOrCreateObjectPersistInfoOfObject, getProxyManager2, getZipCompressionLevel, isProxyMode, newInstance, newInstance, newInstanceNoConstruction, newObjectLoaded, originalObjectAndPersistInfo, prepareWrite, reCreateObjectReadingInStore, reInitializeEnum, setInstanceFactory, setProxyMode, setProxyObjectState, setSpecificObjectIO, setZipCompressionLevel, substituteForWrite, substituteObject, writeaddObject, getKeptInMemorySubstituteObjectManager, isKeptInMemory, keptInMemoryoriginalObject, keptInMemorysubstituteObject, keyOfObjectpublic ObjectIOManager(int currentDataModelIdentifier,
IHeapDataManager dataManager,
boolean proxyMode,
IClassNameManager classNameManager,
StoreSynchro storeSynchro,
ClassInfoFactory classInfoFactory,
HelperBinaryConversion helperBinaryConversion,
ProxyManager2 proxyManager2)
throws ObjectIOException
ObjectIOException@Fortest public boolean isGarbageManagement()
@Fortest public IGarbageManagerForLinkUpdate getGarbageManager()
public void setGarbageManagement(boolean garbageManagement,
IGarbageManagerForLinkUpdate garbageManager)
throws ObjectIOException
ObjectIOExceptionprotected void notToGarbage(DataRecordIdentifier dataRecordIdentifier, ObjectAndPersistInfo objectAndPersistInfo) throws ObjectIOException
notToGarbage in class AbstractObjectIOManagerIOForObjectObjectIOExceptionpublic ObjectClassInfoAndDeclared[] willNotBeWrote(ObjectAndPersistInfo objectAndPersistInfo) throws ObjectIOException
IObjectIOManagerForSaveObjectIOExceptionpublic ObjectAndPersistInfo createReadingInStoreGenericObjectNotLazy(DataRecordIdentifier dataRecordIdentifier) throws ObjectIOException, ObjectIODataRecordNotFoundException, ObjectIOClassNotFoundException, ObjectIOInvalidClassException, ObjectIODataCorruptedException, ObjectIONotSerializableException
#createObjectReadingInStoreOrGetExisting(Long, Class) but
force direct loading.dataRecordIdentifier - identifier of data record associated to objectObjectIODataRecordNotFoundException - no data record for object foundObjectIOException - object creation errorObjectIODataCorruptedExceptionObjectIOInvalidClassExceptionObjectIOClassNotFoundExceptionObjectIONotSerializableExceptionpublic boolean isValueChanged(ObjectAndPersistInfo objectAndPersistInfo) throws ObjectIOException, ObjectIOInvalidClassException, ObjectIONotSerializableException, ObjectIODataCorruptedException, ObjectIODataRecordNotFoundException, ObjectIOClassNotFoundException
ObjectIOExceptionObjectIOInvalidClassExceptionObjectIONotSerializableExceptionObjectIODataCorruptedExceptionObjectIODataRecordNotFoundExceptionObjectIOClassNotFoundExceptionprotected void writeDataRecord(DataRecordIdentifier dataRecordIdentifier, byte[] data) throws ObjectIOException
writeDataRecord in class AbstractObjectIOManagerIOForObjectObjectIOExceptionpublic byte[] getDataOfDataRecord(DataRecordIdentifier dataRecordIdentifier) throws ObjectIOException, ObjectIODataCorruptedException, ObjectIODataRecordNotFoundException
AbstractObjectIOManagerIOForObjectgetDataOfDataRecord in class AbstractObjectIOManagerIOForObjectdataRecordIdentifier - data record identifierObjectIOException - reading errorObjectIODataCorruptedExceptionObjectIODataRecordNotFoundExceptionpublic void unsetProxyObjectState(ObjectAndPersistInfo objectAndPersistInfo) throws ObjectIOException, ObjectIOInvalidClassException
protected DataRecordIdentifier associateNewDataRecordIdentifierToObject(ObjectAndPersistInfo objectAndPersistInfo) throws ObjectIODataCorruptedException, ObjectIOException
associateNewDataRecordIdentifierToObject in class AbstractObjectIOManagerIOForObjectObjectIODataCorruptedExceptionObjectIOExceptionpublic JoafipMutex getStoreMutex()
IObjectIOManagerForProxyObjectIOpublic long getCurrentFileAccessSessionIdentifier()
public void openChangeLog(String changeFileName) throws ObjectIOException
changeFileName - file name for file use to store change logObjectIOExceptionpublic void closeChangeLog()
throws ObjectIOException
ObjectIOExceptionpublic void storeInChangeLog(ObjectAndPersistInfo objectAndPersistInfo) throws ObjectIOException, ObjectIOInvalidClassException, ObjectIONotSerializableException, ObjectIOClassNotFoundException, ObjectIODataRecordNotFoundException, ObjectIODataCorruptedException, ObjectIOTooBigForSerializationException
object - the object to writeObjectIOExceptionObjectIONotSerializableExceptionObjectIOInvalidClassExceptionObjectIOClassNotFoundExceptionObjectIODataCorruptedExceptionObjectIODataRecordNotFoundExceptionObjectIOTooBigForSerializationExceptionpublic Map<DataRecordIdentifier,byte[]> loadChangeLog(String fileName) throws ObjectIOException
fileName - the change log file nameObjectIOExceptionpublic void setExclusiveAccessSession(boolean exclusiveAccessSession)
public void setMaintenedInMemoryEnabled(boolean maintainInMemoryEnabled,
int maintainedInMemoryQuota)
public void setMaintainedInMemoryQuota(int maintainedInMemoryQuota)
public boolean isMaintainInMemoryEnabled()
public void objectIsAccessed(ObjectAndPersistInfo objectAndPersistInfo)
IObjectIOManagerForProxyObjectIOpublic void setAutoSaveEnabled(boolean enabled,
int maxInMemoryThreshold)
public void setMaxInMemoryThreshold(int maxInMemoryThreshold)
public void setAutoSaveEventListener(IAutoSaveEventListener saveEventListener)
public boolean isAutoSaveEnabled()
public boolean isRunAutosaveEnableAndDisable()
public void setRunAutosaveEnable(boolean runAutosaveEnable)
protected void checkForAutoSave()
throws ObjectIOException
checkForAutoSave in class AbstractObjectIOManagerIOForObjectObjectIOExceptionprotected void autoSave()
throws ObjectIOException
ObjectIOExceptionpublic void setSaver(IFilePersistenceAutoSaver saver)
Copyright © 2007-2012 Luc Peuvrier. All Rights Reserved.