com.sun.xml.bind.v2.runtime.reflect
public abstract class TransducedAccessor<BeanT> extends Object
This allows efficient conversions between primitive values and String without using boxing.
This abstraction only works for a single-value property.
An instance of TransducedAccessor implicitly holds a field of the {@code BeanT} that the accessors access.
Nested Class Summary | |
---|---|
static class | TransducedAccessor.CompositeContextDependentTransducedAccessorImpl<BeanT,ValueT> |
static class | TransducedAccessor.CompositeTransducedAccessorImpl<BeanT,ValueT> |
Method Summary | |
---|---|
void | declareNamespace(BeanT o, XMLSerializer w)
Obtain the value of the field and declares the namespace URIs used in
the value.
|
static <T> TransducedAccessor<T> | get(JAXBContextImpl context, RuntimeNonElementRef ref)
Gets the TransducedAccessor appropriately configured for
the given property.
|
abstract boolean | hasValue(BeanT o)
Checks if the field has a value. |
abstract void | parse(BeanT o, CharSequence lexical)
Parses the text value into the responsible field of the given bean.
|
CharSequence | print(BeanT o)
Prints the responsible field of the given bean to the writer.
|
boolean | useNamespace() |
abstract void | writeLeafElement(XMLSerializer w, Name tagName, BeanT o, String fieldName)
Convenience method to write the value as a text inside an element
without any attributes.
|
abstract void | writeText(XMLSerializer w, BeanT o, String fieldName)
Invokes one of the XMLSerializer method
with the representation of data bested suited for this transduced accessor. |
See Also: Transducer
This allows the implementation to use an optimized code.
Use getInstance to access to the namespace bindings
Throws: AccessorException if the transducer is used to parse an user bean that uses XmlValue, then this exception may occur when it tries to set the leaf value to the bean. RuntimeException if the lexical form is incorrect. The method may throw a RuntimeException, but it shouldn't cause the entire unmarshalling to fail. SAXException if the parse method found an error, the error is reported, and then the processing is aborted.
Use getInstance to access to the namespace bindings
Returns: if the accessor didn't yield a value, return null.
See Also: useNamespace
The callee assumes that there's an associated value in the field. No @xsi:type handling is expected.