Class ModelBuilder<T,​C,​F,​M>

    • Field Detail

      • defaultNsUri

        public final String 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 hasSwaRef
        Set to true if the model includes XmlAttachmentRef. JAX-WS needs to know this information.
    • Method Detail

      • createTypeInfoSet

        protected TypeInfoSet<T,​C,​F,​M> createTypeInfoSet()
      • getClassInfo

        public NonElement<T,​C> getClassInfo​(C clazz,
                                                  boolean searchForSuperClass,
                                                  Locatable upstream)
        For limited cases where the caller needs to search for a super class. This is necessary because we don't want subclassReplacements to kick in for the super class search, which will cause infinite recursion.
      • getTypeInfo

        public NonElement<T,​C> getTypeInfo​(T t,
                                                 Locatable upstream)
        Have the builder recognize the type (if it hasn't done so yet), and returns a NonElement that represents it.
        Returns:
        always non-null.
      • getTypeInfo

        public NonElement<T,​C> getTypeInfo​(Ref<T,​C> ref)
        This method is used to add a root reference to a model.
      • addRegistry

        public RegistryInfo<T,​C> addRegistry​(C registryClass,
                                                   Locatable upstream)
        Visits a class with XmlRegistry and records all the element mappings in it.
      • getRegistry

        public RegistryInfo<T,​C> getRegistry​(String packageName)
        Gets a RegistryInfo 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

        public TypeInfoSet<T,​C,​F,​M> 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

        public void setErrorHandler​(ErrorHandler errorHandler)
        Sets the error handler that receives errors discovered during the model building.
        Parameters:
        errorHandler - can be null.
      • isReplaced

        public boolean isReplaced​(C sc)