Class JavaCompilerImpl

  • All Implemented Interfaces:
    JavaCompiler

    public class JavaCompilerImpl
    extends java.lang.Object
    implements JavaCompiler
    Author:
    Kohsuke Kawaguchi (kk@kohsuke.org)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      J2SJAXBModel bind​(java.util.Collection<Reference> rootClasses, java.util.Map<javax.xml.namespace.QName,​Reference> additionalElementDecls, java.lang.String defaultNamespaceRemap, javax.annotation.processing.ProcessingEnvironment env)
      Compiles the given annotated Java source code.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JavaCompilerImpl

        public JavaCompilerImpl()
    • Method Detail

      • bind

        public J2SJAXBModel bind​(java.util.Collection<Reference> rootClasses,
                                 java.util.Map<javax.xml.namespace.QName,​Reference> additionalElementDecls,
                                 java.lang.String defaultNamespaceRemap,
                                 javax.annotation.processing.ProcessingEnvironment env)
        Description copied from interface: JavaCompiler
        Compiles the given annotated Java source code.

        This operation takes a set of "root types", then compute the list of all the types that need to be bound by forming a transitive reflexive closure of types that are referenced by the root types.

        Errors will be sent to ProcessingEnvironment.getMessager().

        Specified by:
        bind in interface JavaCompiler
        Parameters:
        rootClasses - The list of types that needs to be bound to XML. "root references" from JAX-RPC to JAXB is always in the form of (type,annotations) pair.
        additionalElementDecls - Add element declarations for the specified element names to the XML types mapped from the corresponding References. Those References must be included in the rootTypes parameter. In this map, a Reference can be null, in which case the element name is declared to have an empty complex type. (<xs:element name='foo'><xs:complexType/></xs:element>) This parameter can be null, in which case the method behaves as if the empty map is given.
        defaultNamespaceRemap - If not-null, all the uses of the empty default namespace ("") will be replaced by this namespace URI.
        env - The caller supplied view to the annotated source code that JAXB is going to process.
        Returns:
        Non-null if no error was reported. Otherwise null.