Package com.sun.xml.bind.v2.model.impl
Class RuntimeModelBuilder
java.lang.Object
com.sun.xml.bind.v2.model.impl.ModelBuilder<Type,Class,Field,Method>
com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
- All Implemented Interfaces:
ModelBuilderI<Type,
Class, Field, Method>
ModelBuilder
that works at the run-time by using
the java.lang.reflect
package.
This extends ModelBuilder
by providing more functionalities such
as accessing the fields and classes.
- Author:
- Kohsuke Kawaguchi (kk@kohsuke.org)
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal JAXBContextImpl
TheJAXBContextImpl
for which the model is built.Fields inherited from class com.sun.xml.bind.v2.model.impl.ModelBuilder
defaultNsUri, hasSwaRef, nav, reader
-
Constructor Summary
ConstructorsConstructorDescriptionRuntimeModelBuilder
(JAXBContextImpl context, RuntimeAnnotationReader annotationReader, Map<Class, Class> subclassReplacements, String defaultNamespaceRemap) -
Method Summary
Modifier and TypeMethodDescriptioncom.sun.xml.bind.v2.model.impl.RuntimeArrayInfoImpl
createArrayInfo
(Locatable upstream, Type arrayType) protected com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl
createClassInfo
(Class clazz, Locatable upstream) com.sun.xml.bind.v2.model.impl.RuntimeElementInfoImpl
createElementInfo
(com.sun.xml.bind.v2.model.impl.RegistryInfoImpl<Type, Class, Field, Method> registryInfo, Method method) protected com.sun.xml.bind.v2.model.impl.RuntimeEnumLeafInfoImpl
createEnumLeafInfo
(Class clazz, Locatable upstream) static Transducer
Creates aTransducer
given a reference.protected com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl
getClassInfo
(Class clazz, boolean searchForSuperClass, Locatable upstream) For limited cases where the caller needs to search for a super class.getClassInfo
(Class clazz, Locatable upstream) Builds a JAXBClassInfo
model from a given class declaration and adds that to this model owner.link()
Called after all the classes are added to the type set to "link" them together.Methods inherited from class com.sun.xml.bind.v2.model.impl.ModelBuilder
addRegistry, getNavigator, getReader, getRegistry, getTypeInfo, getTypeInfo, isReplaced, reportError, setErrorHandler
-
Field Details
-
context
TheJAXBContextImpl
for which the model is built. Null when created for reflection.
-
-
Constructor Details
-
RuntimeModelBuilder
public RuntimeModelBuilder(JAXBContextImpl context, RuntimeAnnotationReader annotationReader, Map<Class, Class> subclassReplacements, String defaultNamespaceRemap)
-
-
Method Details
-
getClassInfo
Description copied from class:ModelBuilder
Builds a JAXBClassInfo
model from a given class declaration and adds that to this model owner.Return type is either
ClassInfo
orLeafInfo
(for types likeString
orEnum
-derived ones)- Overrides:
getClassInfo
in classModelBuilder<Type,
Class, Field, Method>
-
getClassInfo
Description copied from class:ModelBuilder
For limited cases where the caller needs to search for a super class. This is necessary because we don't wantModelBuilder.subclassReplacements
to kick in for the super class search, which will cause infinite recursion.- Overrides:
getClassInfo
in classModelBuilder<Type,
Class, Field, Method>
-
createEnumLeafInfo
protected com.sun.xml.bind.v2.model.impl.RuntimeEnumLeafInfoImpl createEnumLeafInfo(Class clazz, Locatable upstream) - Overrides:
createEnumLeafInfo
in classModelBuilder<Type,
Class, Field, Method>
-
createClassInfo
protected com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl createClassInfo(Class clazz, Locatable upstream) - Overrides:
createClassInfo
in classModelBuilder<Type,
Class, Field, Method>
-
createElementInfo
public com.sun.xml.bind.v2.model.impl.RuntimeElementInfoImpl createElementInfo(com.sun.xml.bind.v2.model.impl.RegistryInfoImpl<Type, Class, throws IllegalAnnotationExceptionField, Method> registryInfo, Method method) - Overrides:
createElementInfo
in classModelBuilder<Type,
Class, Field, Method> - Throws:
IllegalAnnotationException
-
createArrayInfo
public com.sun.xml.bind.v2.model.impl.RuntimeArrayInfoImpl createArrayInfo(Locatable upstream, Type arrayType) - Overrides:
createArrayInfo
in classModelBuilder<Type,
Class, Field, Method>
-
createTypeInfoSet
protected com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl createTypeInfoSet()- Overrides:
createTypeInfoSet
in classModelBuilder<Type,
Class, Field, Method>
-
link
Description copied from class:ModelBuilder
Called after all the classes are added to the type set to "link" them together.Don't expose implementation classes in the signature.
- Overrides:
link
in classModelBuilder<Type,
Class, Field, Method> - Returns:
- fully built
TypeInfoSet
that represents the model, or null if there was an error.
-
createTransducer
Creates aTransducer
given a reference. Used to implementRuntimeNonElementRef.getTransducer()
. Shouldn't be called from anywhere else. TODO: this is not the proper place for this class to be in.
-