Class ValueHolder
- java.lang.Object
-
- org.eclipse.persistence.indirection.ValueHolder
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,ValueHolderInterface
,WeavedAttributeValueHolderInterface
public class ValueHolder extends java.lang.Object implements WeavedAttributeValueHolderInterface, java.lang.Cloneable, java.io.Serializable
Purpose: Act as a place holder for a variable that required a value holder interface. This class should be used to initialze an objects attributes that are using indirection is their mappings.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Object
value
Stores the wrapped object.-
Fields inherited from interface org.eclipse.persistence.indirection.ValueHolderInterface
shouldToStringInstantiate
-
-
Constructor Summary
Constructors Constructor Description ValueHolder()
PUBLIC: Initialize the holder.ValueHolder(java.lang.Object value)
PUBLIC: Initialize the holder with an object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
INTERNAL:java.lang.Object
getValue()
PUBLIC: Return the wrapped object.boolean
isCoordinatedWithProperty()
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to track whether a valueholder that has been weaved into a class is coordinated with the underlying propertyboolean
isInstantiated()
PUBLIC: Return a boolean indicating whether the wrapped object has been set or not.boolean
isNewlyWeavedValueHolder()
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to determine if this ValueHolder was added instantiated as part of the constructor of a weaved classvoid
setIsCoordinatedWithProperty(boolean coordinated)
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to track whether a valueholder that has been weaved into a class is coordinated with the underlying property This method will be called internall when the state of Coordination between the weaved valueholder and the underlying value is knownvoid
setIsNewlyWeavedValueHolder(boolean isNew)
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to determine if this ValueHolder was added instantiated as part of the constructor of a weaved class This method will be called when a ValueHolder is instantiated in a weaved classvoid
setValue(java.lang.Object value)
PUBLIC: Set the wrapped object.boolean
shouldAllowInstantiationDeferral()
INTERNAL: Return if add/remove should trigger instantiation or avoid.java.lang.String
toString()
INTERNAL:
-
-
-
Method Detail
-
clone
public java.lang.Object clone()
INTERNAL:- Specified by:
clone
in interfaceValueHolderInterface
- Overrides:
clone
in classjava.lang.Object
-
getValue
public java.lang.Object getValue()
PUBLIC: Return the wrapped object.- Specified by:
getValue
in interfaceValueHolderInterface
-
isCoordinatedWithProperty
public boolean isCoordinatedWithProperty()
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to track whether a valueholder that has been weaved into a class is coordinated with the underlying property- Specified by:
isCoordinatedWithProperty
in interfaceWeavedAttributeValueHolderInterface
- Returns:
-
isNewlyWeavedValueHolder
public boolean isNewlyWeavedValueHolder()
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to determine if this ValueHolder was added instantiated as part of the constructor of a weaved class- Specified by:
isNewlyWeavedValueHolder
in interfaceWeavedAttributeValueHolderInterface
- Returns:
-
isInstantiated
public boolean isInstantiated()
PUBLIC: Return a boolean indicating whether the wrapped object has been set or not.- Specified by:
isInstantiated
in interfaceValueHolderInterface
-
setIsCoordinatedWithProperty
public void setIsCoordinatedWithProperty(boolean coordinated)
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to track whether a valueholder that has been weaved into a class is coordinated with the underlying property This method will be called internall when the state of Coordination between the weaved valueholder and the underlying value is known- Specified by:
setIsCoordinatedWithProperty
in interfaceWeavedAttributeValueHolderInterface
-
setIsNewlyWeavedValueHolder
public void setIsNewlyWeavedValueHolder(boolean isNew)
Used as part of the implementation of WeavedAttributeValueHolderInterface Used to determine if this ValueHolder was added instantiated as part of the constructor of a weaved class This method will be called when a ValueHolder is instantiated in a weaved class- Specified by:
setIsNewlyWeavedValueHolder
in interfaceWeavedAttributeValueHolderInterface
-
setValue
public void setValue(java.lang.Object value)
PUBLIC: Set the wrapped object.- Specified by:
setValue
in interfaceValueHolderInterface
-
shouldAllowInstantiationDeferral
public boolean shouldAllowInstantiationDeferral()
INTERNAL: Return if add/remove should trigger instantiation or avoid. Current instantiation is avoided is using change tracking.- Specified by:
shouldAllowInstantiationDeferral
in interfaceWeavedAttributeValueHolderInterface
-
toString
public java.lang.String toString()
INTERNAL:- Overrides:
toString
in classjava.lang.Object
-
-