Package jadex.rules.state.javaimpl
Class OAVState
- java.lang.Object
-
- jadex.rules.state.javaimpl.OAVAbstractState
-
- jadex.rules.state.javaimpl.OAVState
-
- All Implemented Interfaces:
IOAVState
public class OAVState extends OAVAbstractState
An object holding the state as OAV triples (object, attribute, value).
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.MapexternalusagesWriting (and therefore resurrecting) is not supported.protected java.util.MapobjectsThe objects table (oid -> content map).-
Fields inherited from class jadex.rules.state.javaimpl.OAVAbstractState
beanlistenercnt, deletedobjects, eventhandler, generator, javaidentity, javaobjects, nocheck, objectusages, PCL, pcls, profiler, rootobjects, substates, synchronizator, tmodel, TYPE
-
-
Constructor Summary
Constructors Constructor Description OAVState(OAVTypeModel tmodel)Create a new empty OAV state representation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExternalObjectUsage(java.lang.Object id, java.lang.Object external)Add an external usage of a state object (oid).protected booleaninternalContainsObject(java.lang.Object id)Test if an object is contained in the state.protected java.util.MapinternalCreateObject(java.lang.Object id)Internally create an object.protected java.util.MapinternalGetObjectContent(java.lang.Object id)Get the object content of an object.protected java.util.SetinternalGetObjects()Get a set of the internal state objects.protected intinternalObjectsSize()Test how many object are contained in the state.protected java.util.MapinternalRemoveObject(java.lang.Object id)Remove an object from the state objects.protected booleanisExternallyUsed(java.lang.Object id)Test if an object is externally used.voidremoveExternalObjectUsage(java.lang.Object id, java.lang.Object external)Remove an external usage of a state object (oid).-
Methods inherited from class jadex.rules.state.javaimpl.OAVAbstractState
addAttributeValue, addJavaRootObject, addObjectUsage, addStateListener, addSubstate, checkMultiplicity, checkMultiplicity, checkTypeDefined, checkTypeHasAttribute, checkValidStateObject, checkValidStateObjectRead, checkValidStateValue, checkValueCompatibility, containsKey, containsObject, createIdGenerator, createObject, createObject, createRootObject, deregisterValue, dispose, dropObject, equals, expungeStaleObjects, findCycle, findCycleForValue, getAttributeKeys, getAttributeValue, getAttributeValue, getAttributeValues, getDeepObjects, getObject, getObject0, getObjects, getObjectUsages, getProfiler, getReferencingObjects, getRootObjects, getSize, getSubstates, getSynchronizator, getType, getTypeModel, getUnreferencedObjects, internalDropObject, isIdentifier, isJavaIdentity, isManaged, isReachable, notifyEventListeners, registerValue, removeAttributeValue, removeJavaRootObject, removeObject, removeObjectUsage, removeStateListener, setAttributeValue, setProfiler, setSynchronizator, toString
-
-
-
-
Constructor Detail
-
OAVState
public OAVState(OAVTypeModel tmodel)
Create a new empty OAV state representation.
-
-
Method Detail
-
addExternalObjectUsage
public void addExternalObjectUsage(java.lang.Object id, java.lang.Object external)Add an external usage of a state object (oid). This prevents the oav object of being garbage collected as long as external references are present.- Specified by:
addExternalObjectUsagein interfaceIOAVState- Specified by:
addExternalObjectUsagein classOAVAbstractState- Parameters:
id- The oav object id.external- The user object.
-
removeExternalObjectUsage
public void removeExternalObjectUsage(java.lang.Object id, java.lang.Object external)Remove an external usage of a state object (oid). This allows the oav object of being garbage collected when no further external references and no internal references are present.- Specified by:
removeExternalObjectUsagein interfaceIOAVState- Specified by:
removeExternalObjectUsagein classOAVAbstractState- Parameters:
id- The oav object id.external- The state external object.
-
isExternallyUsed
protected boolean isExternallyUsed(java.lang.Object id)
Test if an object is externally used.- Specified by:
isExternallyUsedin classOAVAbstractState- Parameters:
id- The id.- Returns:
- True, if externally used.
-
internalCreateObject
protected java.util.Map internalCreateObject(java.lang.Object id)
Internally create an object.- Specified by:
internalCreateObjectin classOAVAbstractState- Parameters:
id- The id.- Returns:
- The content map of the new object.
-
internalRemoveObject
protected java.util.Map internalRemoveObject(java.lang.Object id)
Remove an object from the state objects.- Specified by:
internalRemoveObjectin classOAVAbstractState- Parameters:
id- The id.- Returns:
- The content map of the object.
-
internalGetObjectContent
protected java.util.Map internalGetObjectContent(java.lang.Object id)
Get the object content of an object.- Specified by:
internalGetObjectContentin classOAVAbstractState- Parameters:
id- The id.- Returns:
- The content map of the object.
-
internalContainsObject
protected boolean internalContainsObject(java.lang.Object id)
Test if an object is contained in the state.- Specified by:
internalContainsObjectin classOAVAbstractState- Parameters:
id- The id.- Returns:
- True, if object is contained.
-
internalObjectsSize
protected int internalObjectsSize()
Test how many object are contained in the state.- Specified by:
internalObjectsSizein classOAVAbstractState- Returns:
- The number of objects.
-
internalGetObjects
protected java.util.Set internalGetObjects()
Get a set of the internal state objects.- Specified by:
internalGetObjectsin classOAVAbstractState- Returns:
- A set of the state objects.
-
-