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
 
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 getFieldName()
           
 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.
 boolean isHiddenByOverride()
           
 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 setHiddenByOverride(boolean hidden)
           
 void wrapUp()
          Called at the end of the JAXBContext initialization phase to clean up any unnecessary references.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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>

isHiddenByOverride

public boolean isHiddenByOverride()
Specified by:
isHiddenByOverride in interface Property<BeanT>

setHiddenByOverride

public void setHiddenByOverride(boolean hidden)
Specified by:
setHiddenByOverride in interface Property<BeanT>

getFieldName

public java.lang.String getFieldName()
Specified by:
getFieldName in interface Property<BeanT>