Class RuntimeModelBuilder
java.lang.Object
org.glassfish.jaxb.runtime.v2.model.impl.ModelBuilder<Type,Class,Field,Method>
org.glassfish.jaxb.runtime.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 org.glassfish.jaxb.runtime.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 TypeMethodDescriptioncreateArrayInfo(Locatable upstream, Type arrayType) createClassInfo(Class clazz, Locatable upstream) createElementInfo(RegistryInfo<Type, Class> registryInfo, Method method) protected EnumLeafInfo<Type, Class> createEnumLeafInfo(Class clazz, Locatable upstream) static <V> Transducer<V> Creates aTransducergiven a reference.protected TypeInfoSet<Type, Class, Field, Method> 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 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 org.glassfish.jaxb.runtime.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
- Overrides:
createEnumLeafInfoin classModelBuilder<Type,Class, Field, Method>
-
createClassInfo
- Overrides:
createClassInfoin classModelBuilder<Type,Class, Field, Method>
-
createElementInfo
public ElementInfo<Type,Class> createElementInfo(RegistryInfo<Type, Class> registryInfo, Method method) throws IllegalAnnotationException- Overrides:
createElementInfoin classModelBuilder<Type,Class, Field, Method> - Throws:
IllegalAnnotationException
-
createArrayInfo
- Overrides:
createArrayInfoin classModelBuilder<Type,Class, Field, Method>
-
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.
-