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 JAXBContextImplTheJAXBContextImplfor 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.RuntimeArrayInfoImplcreateArrayInfo(Locatable upstream, Type arrayType) protected com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImplcreateClassInfo(Class clazz, Locatable upstream) com.sun.xml.bind.v2.model.impl.RuntimeElementInfoImplcreateElementInfo(com.sun.xml.bind.v2.model.impl.RegistryInfoImpl<Type, Class, Field, Method> registryInfo, Method method) protected com.sun.xml.bind.v2.model.impl.RuntimeEnumLeafInfoImplcreateEnumLeafInfo(Class clazz, Locatable upstream) static TransducerCreates aTransducergiven a reference.protected com.sun.xml.bind.v2.model.impl.TypeInfoSetImplgetClassInfo(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 JAXBClassInfomodel 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
TheJAXBContextImplfor 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:ModelBuilderBuilds a JAXBClassInfomodel from a given class declaration and adds that to this model owner.Return type is either
ClassInfoorLeafInfo(for types likeStringorEnum-derived ones)- Overrides:
getClassInfoin classModelBuilder<Type,Class, Field, Method>
-
getClassInfo
Description copied from class:ModelBuilderFor limited cases where the caller needs to search for a super class. This is necessary because we don't wantModelBuilder.subclassReplacementsto kick in for the super class search, which will cause infinite recursion.- Overrides:
getClassInfoin classModelBuilder<Type,Class, Field, Method>
-
createEnumLeafInfo
protected com.sun.xml.bind.v2.model.impl.RuntimeEnumLeafInfoImpl createEnumLeafInfo(Class clazz, Locatable upstream) - Overrides:
createEnumLeafInfoin classModelBuilder<Type,Class, Field, Method>
-
createClassInfo
protected com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl createClassInfo(Class clazz, Locatable upstream) - Overrides:
createClassInfoin 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:
createElementInfoin classModelBuilder<Type,Class, Field, Method> - Throws:
IllegalAnnotationException
-
createArrayInfo
public com.sun.xml.bind.v2.model.impl.RuntimeArrayInfoImpl createArrayInfo(Locatable upstream, Type arrayType) - Overrides:
createArrayInfoin classModelBuilder<Type,Class, Field, Method>
-
createTypeInfoSet
protected com.sun.xml.bind.v2.model.impl.TypeInfoSetImpl createTypeInfoSet()- Overrides:
createTypeInfoSetin classModelBuilder<Type,Class, Field, Method>
-
link
Description copied from class:ModelBuilderCalled after all the classes are added to the type set to "link" them together.Don't expose implementation classes in the signature.
- Overrides:
linkin classModelBuilder<Type,Class, Field, Method> - Returns:
- fully built
TypeInfoSetthat represents the model, or null if there was an error.
-
createTransducer
Creates aTransducergiven 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.
-