Interface BindingContext


  • public interface BindingContext
    JAXBContext enhanced with JAXB RI specific functionalities.

    Subject to change without notice.

    Since:
    2.0 EA1
    Author:
    Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com), shih-chang.chen@oracle.com
    • Method Detail

      • hasSwaRef

        boolean hasSwaRef()
        Returns true if this context includes a class that has XmlAttachmentRef.
        Since:
        2.1
      • getElementName

        @Nullable
        QName getElementName​(@NotNull
                             Object o)
                      throws JAXBException
        If the given object is bound to an element in XML by JAXB, returns the element name.
        Returns:
        null if the object is not bound to an element.
        Throws:
        JAXBException - if the object is not known to this context.
        Since:
        2.0 EA1
      • getElementName

        @Nullable
        QName getElementName​(@NotNull
                             Class o)
                      throws JAXBException
        Allows to retrieve the element name based on Class.
        Parameters:
        o -
        Returns:
        Throws:
        JAXBException
        Since:
        2.1.10
      • createFragmentBridge

        XMLBridge createFragmentBridge()
      • getElementPropertyAccessor

        <B,​V> PropertyAccessor<B,​V> getElementPropertyAccessor​(Class<B> wrapperBean,
                                                                           String nsUri,
                                                                           String localName)
                                                                    throws JAXBException
        Gets a PropertyAccessor for the specified element property of the specified wrapper bean class.

        This method is designed to assist the JAX-RPC RI fill in a wrapper bean (in the doc/lit/wrap mode.) In the said mode, a wrapper bean is supposed to only have properties that match elements, and for each element that appear in the content model there's one property.

        Therefore, this method takes a wrapper bean and a tag name that identifies a property on the given wrapper bean, then returns a PropertyAccessor that allows the caller to set/get a value from the property of the bean.

        This method is not designed for a performance. The caller is expected to cache the result.

        Type Parameters:
        B - type of the wrapper bean
        V - type of the property of the bean
        Returns:
        always return non-null valid accessor object.
        Throws:
        JAXBException - if the specified wrapper bean is not bound by JAXB, or if it doesn't have an element property of the given name.
        Since:
        2.0 EA1
      • getKnownNamespaceURIs

        @NotNull
        List<String> getKnownNamespaceURIs()
        Gets the namespace URIs statically known to this JAXBContext.

        When JAXB is used to marshal into sub-trees, it declares these namespace URIs at each top-level element that it marshals. To avoid repeated namespace declarations at sub-elements, the application may declare those namespaces at a higher level.

        Returns:
        always non-null.
        Since:
        2.0 EA2
      • generateSchema

        void generateSchema​(@NotNull
                            SchemaOutputResolver outputResolver)
                     throws IOException
        Generates the schema documents from the model.

        The caller can use the additionalElementDecls parameter to add element declarations to the generate schema. For example, if the JAX-RPC passes in the following entry: {foo}bar -> DeclaredType for java.lang.String then JAXB generates the following element declaration (in the schema document for the namespace "foo")" <xs:element name="bar" type="xs:string" /> This can be used for generating schema components necessary for WSDL.

        Parameters:
        outputResolver - this object controls the output to which schemas will be sent.
        Throws:
        IOException - if SchemaOutputResolver throws an IOException.
      • getTypeName

        QName getTypeName​(@NotNull
                          TypeInfo tr)
        Returns the name of the XML Type bound to the specified Java type.
        Parameters:
        tr - must not be null. This must be one of the TypeInfos specified in the BindingContext#newInstance method.
        Returns:
        null if the referenced type is an anonymous and therefore doesn't have a name.
        Throws:
        IllegalArgumentException - if the parameter is null or not a part of the TypeInfos specified in the newWrapperInstace(Class) method.
      • getBuildId

        @NotNull
        String getBuildId()
        Gets the build information of the JAXB runtime.
        Returns:
        may be null, if the runtime is loaded by a class loader that doesn't support the access to the manifest informatino.