Package com.sun.xml.bind.v2.model.impl
Class ModelBuilder<T,C,F,M>
java.lang.Object
com.sun.xml.bind.v2.model.impl.ModelBuilder<T,C,F,M>
- All Implemented Interfaces:
ModelBuilderI<T,C, F, M>
- Direct Known Subclasses:
RuntimeModelBuilder
Builds a
TypeInfoSet (a set of JAXB properties)
by using ElementInfoImpl and ClassInfoImpl.
from annotated Java classes.
This class uses Navigator and AnnotationReader to
work with arbitrary annotation source and arbitrary Java model.
For this purpose this class is parameterized.
- Author:
- Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddRegistry(C registryClass, Locatable upstream) Visits a class withXmlRegistryand records all the element mappings in it.protected ArrayInfoImpl<T,C, F, M> createArrayInfo(Locatable upstream, T arrayType) protected ClassInfoImpl<T,C, F, M> createClassInfo(C clazz, Locatable upstream) createEnumLeafInfo(C clazz, Locatable upstream) NonElement<T,C> getClassInfo(C clazz, boolean searchForSuperClass, Locatable upstream) For limited cases where the caller needs to search for a super class.NonElement<T,C> getClassInfo(C clazz, Locatable upstream) Builds a JAXBClassInfomodel from a given class declaration and adds that to this model owner.AnnotationReader<T,C, F, M> getRegistry(String packageName) Gets aRegistryInfofor the given package.NonElement<T,C> getTypeInfo(Ref<T, C> ref) This method is used to add a root reference to a model.NonElement<T,C> getTypeInfo(T t, Locatable upstream) Have the builder recognize the type (if it hasn't done so yet), and returns aNonElementthat represents it.booleanisReplaced(C sc) TypeInfoSet<T,C, F, M> link()Called after all the classes are added to the type set to "link" them together.final voidvoidsetErrorHandler(ErrorHandler errorHandler) Sets the error handler that receives errors discovered during the model building.
-
Field Details
-
reader
-
defaultNsUri
JAXB doesn't want to use namespaces unless we are told to, but WS-I BP conformace requires JAX-RPC to always use a non-empty namespace URI. (see http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#WSDLTYPES R2105)To work around this issue, we allow the use of the empty namespaces to be replaced by a particular designated namespace URI.
This field keeps the value of that replacing namespace URI. When there's no replacement, this field is set to "".
-
hasSwaRef
public boolean hasSwaRefSet to true if the model includesXmlAttachmentRef. JAX-WS needs to know this information.
-
-
Constructor Details
-
Method Details
-
createTypeInfoSet
-
getClassInfo
-
getClassInfo
For limited cases where the caller needs to search for a super class. This is necessary because we don't wantsubclassReplacementsto kick in for the super class search, which will cause infinite recursion. -
getTypeInfo
Have the builder recognize the type (if it hasn't done so yet), and returns aNonElementthat represents it.- Returns:
- always non-null.
-
getTypeInfo
This method is used to add a root reference to a model. -
createEnumLeafInfo
-
createClassInfo
-
createElementInfo
protected com.sun.xml.bind.v2.model.impl.ElementInfoImpl<T,C, createElementInfoF, M> (com.sun.xml.bind.v2.model.impl.RegistryInfoImpl<T, C, throws IllegalAnnotationExceptionF, M> registryInfo, M m) - Throws:
IllegalAnnotationException
-
createArrayInfo
-
addRegistry
Visits a class withXmlRegistryand records all the element mappings in it. -
getRegistry
Gets aRegistryInfofor the given package.- Returns:
- null if no registry exists for the package. unlike other getXXX methods on this class, this method is side-effect free.
-
link
Called after all the classes are added to the type set to "link" them together.Don't expose implementation classes in the signature.
- Returns:
- fully built
TypeInfoSetthat represents the model, or null if there was an error.
-
setErrorHandler
Sets the error handler that receives errors discovered during the model building.- Parameters:
errorHandler- can be null.
-
reportError
-
isReplaced
-
getReader
-