Interface PersistenceObjectRegistry
- All Superinterfaces:
Cloneable<PersistenceObjectRegistry>,PersistenceObjectIdLookup,PersistenceObjectLookup,PersistenceSwizzlingLookup
- All Known Implementing Classes:
DefaultObjectRegistry,ViewerObjectRegistryDisabled
public interface PersistenceObjectRegistry extends PersistenceSwizzlingLookup, Cloneable<PersistenceObjectRegistry>
A registry type for biunique associations of arbitrary objects with ids.
-
Method Summary
Modifier and Type Method Description longcapacity()Returns the current size potential before a (maybe costly) rebuild becomes necessary.voidclear()Clears all entries except those that are essential for a correctly executed program (e.g.voidclearAll()Clears all entries, including those that are essential for a correctly executed program (e.g.PersistenceObjectRegistryClone()Useful forPersistenceContextDispatcher.booleanconsolidate()Consolidate internal data structures, e.g.booleancontainsObjectId(long objectId)XGettingTable<String,? extends HashStatistics>createHashStatistics()booleanensureCapacity(long capacity)Makes sure the internal storage structure is prepared to provide acapacity()of at least the passed capacity value.floathashDensity()inthashRange()booleanisEmpty()booleanisValid(long objectId, Object object)<A extends PersistenceAcceptor>
AiterateEntries(A acceptor)ObjectlookupObject(long objectId)longlookupObjectId(Object object)longminimumCapacity()static DefaultObjectRegistryNew()ObjectoptionalRegisterObject(long objectId, Object object)booleanregisterConstant(long objectId, Object constant)booleanregisterObject(long objectId, Object object)booleansetConfiguration(float hashDensity, long minimumCapacity)booleansetHashDensity(float hashDensity)booleansetMinimumCapacity(long minimumCapacity)longsize()voidtruncate()Truncates all entries except those that are essential for a correctly executed program (e.g.voidtruncateAll()Truncates all entries, including those that are essential for a correctly executed program (e.g.voidvalidate(long objectId, Object object)
-
Method Details
-
Clone
PersistenceObjectRegistry Clone()Useful forPersistenceContextDispatcher.- Specified by:
Clonein interfaceCloneable<PersistenceObjectRegistry>- Returns:
- A Clone of this instance as described in
Cloneable.
-
lookupObjectId
- Specified by:
lookupObjectIdin interfacePersistenceObjectIdLookup
-
lookupObject
- Specified by:
lookupObjectin interfacePersistenceObjectLookup
-
isValid
-
validate
-
containsObjectId
boolean containsObjectId(long objectId) -
iterateEntries
-
size
long size() -
isEmpty
boolean isEmpty() -
hashRange
int hashRange() -
hashDensity
float hashDensity() -
minimumCapacity
long minimumCapacity() -
capacity
long capacity()Returns the current size potential before a (maybe costly) rebuild becomes necessary. -
setHashDensity
boolean setHashDensity(float hashDensity) -
setMinimumCapacity
boolean setMinimumCapacity(long minimumCapacity) -
setConfiguration
boolean setConfiguration(float hashDensity, long minimumCapacity) -
ensureCapacity
boolean ensureCapacity(long capacity)Makes sure the internal storage structure is prepared to provide acapacity()of at least the passed capacity value.- Parameters:
capacity-- Returns:
- whether a rebuild of internal storage structures was necessary.
-
registerObject
-
optionalRegisterObject
-
registerConstant
-
consolidate
boolean consolidate()Consolidate internal data structures, e.g. by removing orphan entries and empty hash chains. Depending on the implementation and the size of the registry, this can take a considerable amount of time.- Returns:
- whether a rebuild was required.
-
clear
void clear()Clears all entries except those that are essential for a correctly executed program (e.g. constants).
Clearing means to leave the current capacity as it is and just to actually clear its entries.NOTE:
This method is currently only intended to be used for testing since calling it can cause inconsistencies if there still exist uncleared lazy references. -
clearAll
void clearAll()Clears all entries, including those that are essential for a correctly executed program (e.g. constants), effectively leaving a completely empty registry.
Clearing means to leave the current capacity as it is and just to actually clear its entries.NOTE:
This method is currently only intended to be used for testing since calling it can cause inconsistencies if there still exist uncleared lazy references. -
truncate
void truncate()Truncates all entries except those that are essential for a correctly executed program (e.g. constants). Truncating means to quickly empty the registry by reinitializing the internal storage structures with a new and minimal capacity.NOTE:
This method is currently only intended to be used for testing since calling it can cause inconsistencies if there still exist uncleared lazy references. -
truncateAll
void truncateAll()Truncates all entries, including those that are essential for a correctly executed program (e.g. constants), effectively leaving a completely empty registry.
Truncating means to quickly empty the registry by reinitializing the internal storage structures with a new and minimal capacity.NOTE:
This method is currently only intended to be used for testing since calling it can cause inconsistencies if there still exist uncleared lazy references. -
createHashStatistics
XGettingTable<String,? extends HashStatistics> createHashStatistics() -
New
-