com.sun.xml.bind.v2.model.impl
Class RuntimeBuiltinLeafInfoImpl<T>

java.lang.Object
  extended by com.sun.xml.bind.v2.model.impl.BuiltinLeafInfoImpl<java.lang.reflect.Type,java.lang.Class>
      extended by com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl<T>
All Implemented Interfaces:
com.sun.xml.bind.v2.model.annotation.Locatable, com.sun.xml.bind.v2.model.core.BuiltinLeafInfo<java.lang.reflect.Type,java.lang.Class>, com.sun.xml.bind.v2.model.core.LeafInfo<java.lang.reflect.Type,java.lang.Class>, com.sun.xml.bind.v2.model.core.MaybeElement<java.lang.reflect.Type,java.lang.Class>, com.sun.xml.bind.v2.model.core.NonElement<java.lang.reflect.Type,java.lang.Class>, com.sun.xml.bind.v2.model.core.TypeInfo<java.lang.reflect.Type,java.lang.Class>, RuntimeBuiltinLeafInfo, RuntimeLeafInfo, RuntimeNonElement, RuntimeTypeInfo, com.sun.xml.bind.v2.runtime.Location, Transducer<T>

public abstract class RuntimeBuiltinLeafInfoImpl<T>
extends BuiltinLeafInfoImpl<java.lang.reflect.Type,java.lang.Class>
implements RuntimeBuiltinLeafInfo, Transducer<T>

BuiltinLeafInfoImpl with a support for runtime.

In particular this class defines Transducers for the built-in types.


Field Summary
static java.util.List<RuntimeBuiltinLeafInfoImpl<?>> builtinBeanInfos
          List of all RuntimeBuiltinLeafInfoImpls.
static java.util.Map<java.lang.reflect.Type,RuntimeBuiltinLeafInfoImpl<?>> LEAVES
          All instances of RuntimeBuiltinLeafInfoImpls keyed by their type.
static java.lang.String MAP_ANYURI_TO_URI
           
static RuntimeBuiltinLeafInfoImpl<java.lang.String> STRING
           
 
Fields inherited from interface com.sun.xml.bind.v2.model.core.NonElement
ANYTYPE_NAME
 
Method Summary
 boolean canBeReferencedByIDREF()
          Deprecated. why are you calling a method whose return value is always known?
 void declareNamespace(T o, XMLSerializer w)
          Declares the namespace URIs used in the given value to w.
 java.lang.Class getClazz()
          The same as TypeInfo.getType() but returns the type as a Class.
 com.sun.xml.bind.v2.runtime.Location getLocation()
           
 Transducer getTransducer()
          This method doesn't take the reference properties defined on RuntimeNonElementRef into account (such as ID-ness.)
 TypeT getType()
          A reference to the representation of the type.
 javax.xml.namespace.QName getTypeName()
           
 javax.xml.namespace.QName getTypeName(T instance)
          Transducers implicitly work against a single XML type, but sometimes (most notably XMLGregorianCalendar, an instance may choose different XML types.
 com.sun.xml.bind.v2.model.annotation.Locatable getUpstream()
           
 boolean isDefault()
          If this Transducer is the default transducer for the ValueT, this method returns true.
 boolean isSimpleType()
           
 java.lang.String toString()
           
 boolean useNamespace()
          If true, this Transducer doesn't declare any namespace, and therefore Transducer.declareNamespace(Object, XMLSerializer) is no-op.
 
Methods inherited from class com.sun.xml.bind.v2.model.impl.BuiltinLeafInfoImpl
asElement, createLeaves, getElementName, getTypeNames, isElement
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.BuiltinLeafInfo
getTypeName
 
Methods inherited from interface com.sun.xml.bind.v2.model.runtime.RuntimeLeafInfo
getTypeNames
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.MaybeElement
asElement, getElementName, isElement
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.NonElement
isSimpleType
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.TypeInfo
canBeReferencedByIDREF, getType
 
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.Locatable
getLocation, getUpstream
 
Methods inherited from interface com.sun.xml.bind.v2.runtime.Transducer
parse, print, writeLeafElement, writeText
 

Field Detail

LEAVES

public static final java.util.Map<java.lang.reflect.Type,RuntimeBuiltinLeafInfoImpl<?>> LEAVES
All instances of RuntimeBuiltinLeafInfoImpls keyed by their type.


STRING

public static final RuntimeBuiltinLeafInfoImpl<java.lang.String> STRING

builtinBeanInfos

public static final java.util.List<RuntimeBuiltinLeafInfoImpl<?>> builtinBeanInfos
List of all RuntimeBuiltinLeafInfoImpls.

This corresponds to the built-in Java classes that are specified to be handled differently than ordinary classes. See table 8-2 "Mapping of Standard Java classes".


MAP_ANYURI_TO_URI

public static final java.lang.String MAP_ANYURI_TO_URI
See Also:
Constant Field Values
Method Detail

getClazz

public final java.lang.Class getClazz()
Description copied from interface: RuntimeLeafInfo
The same as TypeInfo.getType() but returns the type as a Class.

Note that the returned Class object does not necessarily represents a class declaration. It can be primitive types.

Specified by:
getClazz in interface RuntimeLeafInfo

getTransducer

public final Transducer getTransducer()
Description copied from interface: RuntimeLeafInfo
This method doesn't take the reference properties defined on RuntimeNonElementRef into account (such as ID-ness.)

Specified by:
getTransducer in interface RuntimeLeafInfo
Specified by:
getTransducer in interface RuntimeNonElement
Returns:
always non-null.
See Also:
RuntimeNonElementRef.getTransducer()

useNamespace

public boolean useNamespace()
Description copied from interface: Transducer
If true, this Transducer doesn't declare any namespace, and therefore Transducer.declareNamespace(Object, XMLSerializer) is no-op. It also means that the Transducer.parse(CharSequence) method won't use the context parameter.

Specified by:
useNamespace in interface Transducer<T>

isDefault

public final boolean isDefault()
Description copied from interface: Transducer
If this Transducer is the default transducer for the ValueT, this method returns true. Used exclusively by OptimizedTransducedAccessorFactory.get(RuntimePropertyInfo)

Specified by:
isDefault in interface Transducer<T>

declareNamespace

public void declareNamespace(T o,
                             XMLSerializer w)
                      throws AccessorException
Description copied from interface: Transducer
Declares the namespace URIs used in the given value to w.

Specified by:
declareNamespace in interface Transducer<T>
Parameters:
o - never be null.
w - may be null if !{@link #useNamespace()}.
Throws:
AccessorException

getTypeName

public javax.xml.namespace.QName getTypeName(T instance)
Description copied from interface: Transducer
Transducers implicitly work against a single XML type, but sometimes (most notably XMLGregorianCalendar, an instance may choose different XML types.

Specified by:
getTypeName in interface Transducer<T>
Returns:
return non-null from this method allows transducers to specify the type it wants to marshal to. Most of the time this method returns null, in which case the implicitly associated type will be used.

getType

public TypeT getType()
A reference to the representation of the type.

Specified by:
getType in interface com.sun.xml.bind.v2.model.core.TypeInfo<TypeT,ClassDeclT>

canBeReferencedByIDREF

public final boolean canBeReferencedByIDREF()
Deprecated. why are you calling a method whose return value is always known?

Leaf-type cannot be referenced from IDREF.

Specified by:
canBeReferencedByIDREF in interface com.sun.xml.bind.v2.model.core.TypeInfo<TypeT,ClassDeclT>

getTypeName

public javax.xml.namespace.QName getTypeName()
Specified by:
getTypeName in interface com.sun.xml.bind.v2.model.core.NonElement<TypeT,ClassDeclT>

getUpstream

public com.sun.xml.bind.v2.model.annotation.Locatable getUpstream()
Specified by:
getUpstream in interface com.sun.xml.bind.v2.model.annotation.Locatable

getLocation

public com.sun.xml.bind.v2.runtime.Location getLocation()
Specified by:
getLocation in interface com.sun.xml.bind.v2.model.annotation.Locatable

isSimpleType

public boolean isSimpleType()
Specified by:
isSimpleType in interface com.sun.xml.bind.v2.model.core.NonElement<TypeT,ClassDeclT>

toString

public java.lang.String toString()
Specified by:
toString in interface com.sun.xml.bind.v2.runtime.Location
Overrides:
toString in class java.lang.Object