Class PluginImpl

java.lang.Object
com.sun.tools.xjc.Plugin
com.sun.tools.xjc.addon.episode.PluginImpl

public class PluginImpl extends Plugin
Creates the episode file,
Author:
Kohsuke Kawaguchi, Ben Tomasini ([email protected])
  • Constructor Details

    • PluginImpl

      public PluginImpl()
  • Method Details

    • getOptionName

      public String getOptionName()
      Description copied from class: Plugin
      Gets the option name to turn on this add-on.

      For example, if "abc" is returned, "-abc" will turn on this plugin. A plugin needs to be turned on explicitly, or else no other methods of will be invoked.

      Starting 2.1, when an option matches the name returned from this method, XJC will then invoke Plugin.parseArgument(Options, String[], int), allowing plugins to handle arguments to this option.

      Specified by:
      getOptionName in class Plugin
    • getUsage

      public String getUsage()
      Description copied from class: Plugin
      Gets the description of this add-on. Used to generate a usage screen.
      Specified by:
      getUsage in class Plugin
      Returns:
      localized description message. should be terminated by \n.
    • parseArgument

      public int parseArgument(Options opt, String[] args, int i) throws BadCommandLineException, IOException
      Description copied from class: Plugin
      Parses an option args[i] and augment the opt object appropriately, then return the number of tokens consumed.

      The callee doesn't need to recognize the option that the getOptionName method returns.

      Once a plugin is activated, this method is called for options that XJC didn't recognize. This allows a plugin to define additional options to customize its behavior.

      Since options can appear in no particular order, XJC allows sub-options of a plugin to show up before the option that activates a plugin (one that's returned by Plugin.getOptionName(). But nevertheless a needs to be activated to participate in further processing.

      Overrides:
      parseArgument in class Plugin
      Returns:
      0 if the argument is not understood. Otherwise return the number of tokens that are consumed, including the option itself. (so if you have an option like "-foo 3", return 2.)
      Throws:
      BadCommandLineException - If the option was recognized but there's an error. This halts the argument parsing process and causes XJC to abort, reporting an error.
      IOException
    • run

      public boolean run(Outline model, Options opt, ErrorHandler errorHandler) throws SAXException
      Capture all the generated classes from global schema components and generate them in an episode file.
      Specified by:
      run in class Plugin
      Parameters:
      model - This object allows access to various generated code.
      errorHandler - Errors should be reported to this handler.
      Returns:
      If the add-on executes successfully, return true. If it detects some errors but those are reported and recovered gracefully, return false.
      Throws:
      SAXException - After an error is reported to ErrorHandler, the same exception can be thrown to indicate a fatal irrecoverable error. ErrorHandler itself may throw it, if it chooses not to recover from the error.