Class PluginImpl
Plugin for what those methods mean.- Author:
- Kohsuke Kawaguchi
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the list of namespace URIs that are supported by this plug-in as schema annotations.Gets the option name to turn on this add-on.getUsage()Gets the description of this add-on.booleanisCustomizationTagName(String nsUri, String localName) Checks if the given tag name is a valid tag name for the customization element in this plug-in.booleanrun(Outline model, Options opt, ErrorHandler errorHandler) Run the add-on.Methods inherited from class com.sun.tools.xjc.Plugin
onActivated, parseArgument, postProcessModel
-
Constructor Details
-
PluginImpl
public PluginImpl()
-
-
Method Details
-
getOptionName
Description copied from class:PluginGets 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
Pluginwill 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:
getOptionNamein classPlugin
-
getCustomizationURIs
Description copied from class:PluginReturns the list of namespace URIs that are supported by this plug-in as schema annotations.If a plug-in returns a non-empty list, the JAXB RI will recognize these namespace URIs as vendor extensions (much like "http://java.sun.com/xml/ns/jaxb/xjc"). This allows users to write those annotations inside a schema, or in external binding files, and later plug-ins can access those annotations as DOM nodes.
See http://java.sun.com/webservices/docs/1.5/jaxb/vendorCustomizations.html for the syntax that users need to use to enable extension URIs.
- Overrides:
getCustomizationURIsin classPlugin- Returns:
- can be empty, be never be null.
-
isCustomizationTagName
Description copied from class:PluginChecks if the given tag name is a valid tag name for the customization element in this plug-in.This method is invoked by XJC to determine if the user-specified customization element is really a customization or not. This information is used to pick the proper error message.
A plug-in is still encouraged to do the validation of the customization element in the
Plugin.run(com.sun.tools.xjc.outline.Outline, com.sun.tools.xjc.Options, org.xml.sax.ErrorHandler)method before using anyCPluginCustomization, to make sure that it has proper child elements and attributes.- Overrides:
isCustomizationTagNamein classPlugin- Parameters:
nsUri- the namespace URI of the element. Never null.localName- the local name of the element. Never null.
-
getUsage
Description copied from class:PluginGets the description of this add-on. Used to generate a usage screen. -
run
Description copied from class:PluginRun the add-on.This method is invoked after XJC has internally finished the code generation. Plugins can tweak some of the generated code (or add more code) by using
OutlineandOptions.Note that this method is invoked only when a
Pluginis activated.- Specified by:
runin classPlugin- 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.
-