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
FieldsModifier and TypeFieldDescriptionfinal String
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.boolean
Set to true if the model includesXmlAttachmentRef
.final AnnotationReader<T,
C, F, M> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddRegistry
(C registryClass, Locatable upstream) Visits a class withXmlRegistry
and 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 JAXBClassInfo
model from a given class declaration and adds that to this model owner.AnnotationReader<T,
C, F, M> getRegistry
(String packageName) Gets aRegistryInfo
for 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 aNonElement
that represents it.boolean
isReplaced
(C sc) TypeInfoSet<T,
C, F, M> link()
Called after all the classes are added to the type set to "link" them together.final void
void
setErrorHandler
(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 wantsubclassReplacements
to 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 aNonElement
that 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 withXmlRegistry
and records all the element mappings in it. -
getRegistry
Gets aRegistryInfo
for 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
TypeInfoSet
that 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
-