Class Accessor<BeanT,ValueT>
java.lang.Object
org.glassfish.jaxb.runtime.v2.runtime.reflect.Accessor<BeanT,ValueT>
- All Implemented Interfaces:
Receiver
- Direct Known Subclasses:
Accessor.FieldReflection
,Accessor.GetterSetterReflection
,FieldAccessor_Boolean
,FieldAccessor_Byte
,FieldAccessor_Character
,FieldAccessor_Double
,FieldAccessor_Float
,FieldAccessor_Integer
,FieldAccessor_Long
,FieldAccessor_Ref
,FieldAccessor_Short
,MethodAccessor_Boolean
,MethodAccessor_Byte
,MethodAccessor_Character
,MethodAccessor_Double
,MethodAccessor_Float
,MethodAccessor_Integer
,MethodAccessor_Long
,MethodAccessor_Ref
,MethodAccessor_Short
,NullSafeAccessor
Accesses a particular property of a bean.
This interface encapsulates the access to the actual data store. The intention is to generate implementations for a particular bean and a property to improve the performance.
Accessor can be used as a receiver. Upon receiving an object it sets that to the field.
- Author:
- Kohsuke Kawaguchi ([email protected])
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Accessor
that uses Java reflection to access a field.static class
A version ofAccessor.GetterSetterReflection
that doesn't have any setter.static class
Accessor
that uses Java reflection to access a getter and a setter.static final class
Read-only access toField
.static class
A version ofAccessor.GetterSetterReflection
thaat doesn't have any getter. -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionadapt
(Class<T> targetType, Class<? extends jakarta.xml.bind.annotation.adapters.XmlAdapter<T, ValueT>> adapter) abstract ValueT
Gets the value of the property of the given bean object.static <A,
B> Accessor<A, B> Gets the specialAccessor
used to recover from errors.getUnadapted
(BeanT bean) Sets the value without adapting the value.boolean
isAbstractable
(Class clazz) Checks if it is not builtin jaxb classboolean
Returns true if this accessor wraps an adapter.boolean
optimize
(JAXBContextImpl context) Returns the optimized version of the same accessor.void
receive
(UnmarshallingContext.State state, Object o) Called when the child loader is deactivated.abstract void
Sets the value of the property of the given bean object.void
setUnadapted
(BeanT bean, Object value) Sets the value without adapting the value.
-
Field Details
-
valueType
-
JAXB_ELEMENT_VALUE
Accessor
forJAXBElement.getValue()
.
-
-
Constructor Details
-
Accessor
-
-
Method Details
-
getValueType
-
optimize
Returns the optimized version of the same accessor.- Parameters:
context
- TheJAXBContextImpl
that owns the whole thing. (SeeRuntimeModelBuilder.context
.)- Returns:
- At least the implementation can return
this
.
-
get
Gets the value of the property of the given bean object.- Parameters:
bean
- must not be null.- Throws:
AccessorException
- if failed to set a value. For example, the getter method may throw an exception.- Since:
- 2.0 EA1
-
set
Sets the value of the property of the given bean object.- Parameters:
bean
- must not be null.value
- the value to be set. Setting value to null means resetting to the VM default value (even for primitive properties.)- Throws:
AccessorException
- if failed to set a value. For example, the setter method may throw an exception.- Since:
- 2.0 EA1
-
getUnadapted
Sets the value without adapting the value.This ugly entry point is only used by JAX-WS. See
JAXBRIContext.getElementPropertyAccessor(java.lang.Class<B>, java.lang.String, java.lang.String)
- Throws:
AccessorException
-
isAdapted
public boolean isAdapted()Returns true if this accessor wraps an adapter.This method needs to be used with care, but it helps some optimization.
-
setUnadapted
Sets the value without adapting the value.This ugly entry point is only used by JAX-WS. See
JAXBRIContext.getElementPropertyAccessor(java.lang.Class<B>, java.lang.String, java.lang.String)
- Throws:
AccessorException
-
receive
Description copied from interface:Receiver
Called when the child loader is deactivated.- Specified by:
receive
in interfaceReceiver
- Parameters:
state
- points to the parent's current state.o
- object that was loaded. may be null.- Throws:
SAXException
-
isValueTypeAbstractable
public boolean isValueTypeAbstractable() -
isAbstractable
Checks if it is not builtin jaxb class- Parameters:
clazz
- to be checked- Returns:
- true if it is NOT builtin class
-
adapt
-
adapt
-
getErrorInstance
Gets the specialAccessor
used to recover from errors.
-