Package org.simpleframework.xml.core
Class InstanceFactory.ValueInstance
- java.lang.Object
-
- org.simpleframework.xml.core.InstanceFactory.ValueInstance
-
- All Implemented Interfaces:
Instance
- Enclosing class:
- InstanceFactory
private class InstanceFactory.ValueInstance extends java.lang.Object implements Instance
TheValueInstanceobject is used to create an object by using aValueinstance to determine the type. If the provided value instance represents a reference then this will simply provide the value of the reference, otherwise it will instantiate a new object and return that.
-
-
Constructor Summary
Constructors Constructor Description ValueInstance(Value value)Constructor for theValueInstanceobject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectgetInstance()This method is used to acquire an instance of the type that is defined by this object.java.lang.ClassgetType()This is the type of the object instance that will be created by thegetInstancemethod.booleanisReference()This is used to determine if the type is a reference type.java.lang.ObjectsetInstance(java.lang.Object object)This method is used acquire the value from the type and if possible replace the value for the type.
-
-
-
Field Detail
-
value
private final Value value
This is the internal value that contains the criteria.
-
type
private final java.lang.Class type
This is the type that is to be instantiated by this.
-
-
Constructor Detail
-
ValueInstance
public ValueInstance(Value value)
Constructor for theValueInstanceobject. This is used to represent an instance that delegates to the given value object in order to acquire the object.- Parameters:
value- this is the value object that contains the data
-
-
Method Detail
-
getInstance
public java.lang.Object getInstance() throws java.lang.ExceptionThis method is used to acquire an instance of the type that is defined by this object. If for some reason the type can not be instantiated an exception is thrown from this.- Specified by:
getInstancein interfaceInstance- Returns:
- an instance of the type this object represents
- Throws:
java.lang.Exception
-
setInstance
public java.lang.Object setInstance(java.lang.Object object)
This method is used acquire the value from the type and if possible replace the value for the type. If the value can not be replaced then an exception should be thrown. This is used to allow primitives to be inserted into a graph.- Specified by:
setInstancein interfaceInstance- Parameters:
object- this is the object to insert as the value- Returns:
- an instance of the type this object represents
-
isReference
public boolean isReference()
This is used to determine if the type is a reference type. A reference type is a type that does not require any XML deserialization based on its annotations. Values that are references could be substitutes objects or existing ones.- Specified by:
isReferencein interfaceInstance- Returns:
- this returns true if the object is a reference
-
getType
public java.lang.Class getType()
This is the type of the object instance that will be created by thegetInstancemethod. This allows the deserialization process to perform checks against the field.
-
-