com.sun.xml.bind.v2.runtime.property
Class ValueProperty<BeanT>

java.lang.Object
  extended by com.sun.xml.bind.v2.runtime.property.ValueProperty<BeanT>
All Implemented Interfaces:
Property<BeanT>, StructureLoaderBuilder

public final class ValueProperty<BeanT>
extends java.lang.Object

Property implementation for XmlValue properties.

This one works for both leaves and nodes, scalars and arrays.


Field Summary
protected  java.lang.String fieldName
          Name of this field.
 
Fields inherited from interface com.sun.xml.bind.v2.runtime.property.StructureLoaderBuilder
CATCH_ALL, TEXT_HANDLER
 
Constructor Summary
ValueProperty(JAXBContextImpl context, RuntimeValuePropertyInfo prop)
           
 
Method Summary
 void buildChildElementUnmarshallers(UnmarshallerChain chainElem, QNameMap<ChildLoader> handlers)
          Every Property class has an implementation of buildChildElementUnmarshallers which will fill in the specified QNameMap by elements that are expected by this property.
 Accessor getElementPropertyAccessor(java.lang.String nsUri, java.lang.String localName)
          If this property is mapped to the specified element, return an accessor to it.
 java.lang.String getIdValue(BeanT bean)
          Gets the value of the property.
 RuntimePropertyInfo getInfo()
          Provides more RuntimePropertyInfo information on the property.
 PropertyKind getKind()
          Gets the Kind of property
 boolean hasSerializeURIAction()
          Returns true if Property.serializeURIs(Object,XMLSerializer) performs some meaningful action.
 void reset(BeanT o)
          Resets the property value on the given object.
 void serializeBody(BeanT o, XMLSerializer w, java.lang.Object outerPeer)
           
 void serializeURIs(BeanT o, XMLSerializer w)
           
 void wrapUp()
          Called at the end of the JAXBContext initialization phase to clean up any unnecessary references.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fieldName

protected final java.lang.String fieldName
Name of this field.

Constructor Detail

ValueProperty

public ValueProperty(JAXBContextImpl context,
                     RuntimeValuePropertyInfo prop)
Method Detail

serializeBody

public final void serializeBody(BeanT o,
                                XMLSerializer w,
                                java.lang.Object outerPeer)
                         throws org.xml.sax.SAXException,
                                AccessorException,
                                java.io.IOException,
                                javax.xml.stream.XMLStreamException
Specified by:
serializeBody in interface Property<BeanT>
outerPeer - used when this property is expected to print out an element and that should be associated with this outer peer. normally null. this is only used for JaxBeanInfo for JAXBElements.
Throws:
AccessorException - If thrown, caught by the caller and reported.
org.xml.sax.SAXException
java.io.IOException
javax.xml.stream.XMLStreamException
See Also:
JaxBeanInfo.serializeBody(Object, XMLSerializer)

serializeURIs

public void serializeURIs(BeanT o,
                          XMLSerializer w)
                   throws org.xml.sax.SAXException,
                          AccessorException
Specified by:
serializeURIs in interface Property<BeanT>
Throws:
org.xml.sax.SAXException
AccessorException
See Also:
JaxBeanInfo.serializeURIs(Object, XMLSerializer)

hasSerializeURIAction

public boolean hasSerializeURIAction()
Description copied from interface: Property
Returns true if Property.serializeURIs(Object,XMLSerializer) performs some meaningful action.

Specified by:
hasSerializeURIAction in interface Property<BeanT>

buildChildElementUnmarshallers

public void buildChildElementUnmarshallers(UnmarshallerChain chainElem,
                                           QNameMap<ChildLoader> handlers)
Description copied from interface: StructureLoaderBuilder
Every Property class has an implementation of buildChildElementUnmarshallers which will fill in the specified QNameMap by elements that are expected by this property.


getKind

public PropertyKind getKind()
Description copied from interface: Property
Gets the Kind of property

Returns:
always non-null.

reset

public void reset(BeanT o)
           throws AccessorException
Description copied from interface: Property
Resets the property value on the given object.

... for example by setting 0 or null.

Throws:
AccessorException

getIdValue

public java.lang.String getIdValue(BeanT bean)
                            throws AccessorException,
                                   org.xml.sax.SAXException
Description copied from interface: Property
Gets the value of the property. This method is only used when the corresponding PropertyInfo.id() is ID.ID, and therefore the return type is fixed to String.

Throws:
AccessorException
org.xml.sax.SAXException

getInfo

public RuntimePropertyInfo getInfo()
Description copied from interface: Property
Provides more RuntimePropertyInfo information on the property.

Specified by:
getInfo in interface Property<BeanT>
Returns:
null if RETAIN_REFERENCE_TO_INFO property is not set on the JAXBContext

getElementPropertyAccessor

public Accessor getElementPropertyAccessor(java.lang.String nsUri,
                                           java.lang.String localName)
Description copied from interface: Property
If this property is mapped to the specified element, return an accessor to it.

Specified by:
getElementPropertyAccessor in interface Property<BeanT>
Returns:
null if the property is not mapped to the specified element.

wrapUp

public void wrapUp()
Description copied from interface: Property
Called at the end of the JAXBContext initialization phase to clean up any unnecessary references.

Specified by:
wrapUp in interface Property<BeanT>