Class XJCListener

  • All Implemented Interfaces:
    ErrorListener, ErrorListener, ErrorHandler

    public abstract class XJCListener
    extends Object
    implements ErrorListener
    Call-back interface that can be implemented by the caller of Driver to receive output from XJC.

    Most of the messages XJC produce once the real work starts is structured as (message,source). Those outputs will be reported to various methods on ErrorListener, which is inherited by this interface.

    The other messages (such as the usage screen when there was an error in the command line option) will go to the message(String) method.

    Since:
    JAXB 2.0 EA
    Author:
    Kohsuke Kawaguchi
    • Constructor Detail

      • XJCListener

        public XJCListener()
        Default constructor.
    • Method Detail

      • generatedFile

        public void generatedFile​(String fileName,
                                  int current,
                                  int total)
        Called for each file generated by XJC.

        XJC may generate not only source files but also resources files. The file name includes the path portions that correspond with the package name.

        When generating files into a directory, file names will be relative to the output directory. When generating files into a zip file, file names will be those in the zip file.

        Parameters:
        fileName - file names like "org/acme/foo/Foo.java" or "org/acme/foo/jaxb.properties".
        Since:
        2.0.1
      • message

        public void message​(String msg)
        Other miscellenous messages that do not have structures will be reported through this method. This method is used like PrintStream.println(String). The callee is expected to add '\n'.
      • compiled

        public void compiled​(Outline outline)
        Called after the schema is compiled and the code generation strategy is determined, but before any code is actually generated as files.
        Parameters:
        outline - never null. this is the root object that represents the code generation strategy.
      • isCanceled

        public boolean isCanceled()
        XJC will periodically invoke this method to see if it should cancel a compilation.

        As long as this method returns false, XJC will keep going. If this method ever returns true, XJC will abort the processing right away and returns non-zero from Driver.run(String[], XJCListener). Note that XJC will not report an abortion through the message(String) method.

        Note that despite all the efforts to check this method frequently, XJC may still fail to invoke this method for a long time. Such scenario would include network related problems or other I/O block (you can't even interrupt the thread while I/O is blocking.) So just beware that this is not a cure-all.

        Returns:
        true if the wants to abort the processing.
        Since:
        2.1