com.sun.tools.xjc
Class Options

java.lang.Object
  extended by com.sun.tools.xjc.Options

public class Options
extends Object

Global options.

This class stores invocation configuration for XJC. The configuration in this class should be abstract enough so that it could be parsed from both command-line or Ant.


Field Summary
 List<Plugin> activePlugins
          Plugins that are enabled in this compilation.
 boolean automaticNameConflictResolution
          If true, try to resolve name conflicts automatically by assigning mechanical numbers.
 ClassNameAllocator classNameAllocator
          This allocator has the final say on deciding the class name.
 List<URL> classpaths
           
 int compatibilityMode
          this switch determines how carefully the compiler will follow the compatibility rules in the spec.
 boolean contentForWildcard
          When on, generates content property for types with multiple xs:any derived elements (which is supposed to be correct behaviour)
 boolean debugMode
          If "-debug" is specified.
 String defaultPackage
          The -p option that should control the default Java package that will contain the generated code.
 String defaultPackage2
          Similar to the -p option, but this one works with a lower priority, and customizations overrides this.
 boolean disableXmlSecurity
          If true XML security features when parsing XML documents will be disabled.
 boolean enableIntrospection
          When on, fixes getter/setter generation to match the Bean Introspection API
 String encoding
          Encoding to be used by generated java sources, null for platform default.
 EntityResolver entityResolver
          Actually stores CatalogResolver, but the field type is made to EntityResolver so that XJC can be used even if resolver.jar is not available in the classpath.
static int EXTENSION
          loosely follow the compatibility rules and allow the use of vendor binding extensions
 boolean noFileHeader
          No file header comment (to be more friendly with diff.)
 boolean packageLevelAnnotations
          This switch controls whether or not xjc will generate package level annotations
 Set<String> pluginURIs
          Set of URIs that plug-ins recognize as extension bindings.
 String proxyAuth
           
 boolean quiet
          If the "-quiet" option is specified.
 boolean readOnly
          If the -readOnly option is specified.
 boolean runtime14
          If -explicit-annotation option is specified.
static int STRICT
          strictly follow the compatibility rules and reject schemas that contain features from App.
 boolean strictCheck
          Check the source schemas with extra scrutiny.
 SpecVersion target
          Generates output for the specified version of the runtime.
 File targetDir
          Target directory when producing files.
 boolean verbose
          If the "-verbose" option is specified.
 
Constructor Summary
Options()
           
 
Method Summary
 void addBindFile(File bindFile)
          Adds a new binding file.
 void addBindFile(InputSource is)
          Adds a new binding file.
 void addBindFileRecursive(File dir)
          Recursively scan directories and add all ".xjb" files in it.
 void addCatalog(File catalogFile)
          Adds a new catalog file.
 void addGrammar(File source)
           
 void addGrammar(InputSource is)
          Adds a new input schema.
 void addGrammarRecursive(File dir)
          Recursively scan directories and add all XSD files in it.
 CodeWriter createCodeWriter()
          Creates a configured CodeWriter that produces files into the specified directory.
 CodeWriter createCodeWriter(CodeWriter core)
          Creates a configured CodeWriter that produces files into the specified directory.
 List<Plugin> getAllPlugins()
          Gets all the Plugins discovered so far.
 InputSource[] getBindFiles()
          Input external binding files.
static String getBuildID()
           
 FieldRendererFactory getFieldRendererFactory()
          Gets the active FieldRendererFactory that shall be used to build Model.
 InputSource[] getGrammars()
          Input schema files.
 com.sun.xml.bind.api.impl.NameConverter getNameConverter()
          Gets the active NameConverter that shall be used to build Model.
 String getPrologComment()
          Gets the string suitable to be used as the prolog comment baked into artifacts.
 Language getSchemaLanguage()
           
 ClassLoader getUserClassLoader(ClassLoader parent)
          Gets a classLoader that can load classes specified via the -classpath option.
 Language guessSchemaLanguage()
          Guesses the schema language.
 boolean isExtensionMode()
           
static String normalizeSystemId(String systemId)
           
 int parseArgument(String[] args, int i)
          Parses an option args[i] and return the number of tokens consumed.
 void parseArguments(String[] args)
          Parses arguments and fill fields of this object.
 String requireArgument(String optionName, String[] args, int i)
          Obtains an operand and reports an error if it's not there.
 void scanEpisodeFile(File jar)
          Finds the META-INF/sun-jaxb.episode file to add as a binding customization.
 void setFieldRendererFactory(FieldRendererFactory frf, Plugin owner)
          Sets the FieldRendererFactory.
 void setNameConverter(com.sun.xml.bind.api.impl.NameConverter nc, Plugin owner)
          Sets the NameConverter.
 void setSchemaLanguage(Language _schemaLanguage)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debugMode

public boolean debugMode
If "-debug" is specified.


verbose

public boolean verbose
If the "-verbose" option is specified.


quiet

public boolean quiet
If the "-quiet" option is specified.


readOnly

public boolean readOnly
If the -readOnly option is specified.


noFileHeader

public boolean noFileHeader
No file header comment (to be more friendly with diff.)


enableIntrospection

public boolean enableIntrospection
When on, fixes getter/setter generation to match the Bean Introspection API


contentForWildcard

public boolean contentForWildcard
When on, generates content property for types with multiple xs:any derived elements (which is supposed to be correct behaviour)


encoding

public String encoding
Encoding to be used by generated java sources, null for platform default.


disableXmlSecurity

public boolean disableXmlSecurity
If true XML security features when parsing XML documents will be disabled. The default value is false. Boolean

Since:
2.2.6

strictCheck

public boolean strictCheck
Check the source schemas with extra scrutiny. The exact meaning depends on the schema language.


runtime14

public boolean runtime14
If -explicit-annotation option is specified.

This generates code that works around issues specific to 1.4 runtime.


automaticNameConflictResolution

public boolean automaticNameConflictResolution
If true, try to resolve name conflicts automatically by assigning mechanical numbers.


STRICT

public static final int STRICT
strictly follow the compatibility rules and reject schemas that contain features from App. E.2, use vendor binding extensions

See Also:
Constant Field Values

EXTENSION

public static final int EXTENSION
loosely follow the compatibility rules and allow the use of vendor binding extensions

See Also:
Constant Field Values

compatibilityMode

public int compatibilityMode
this switch determines how carefully the compiler will follow the compatibility rules in the spec. Either STRICT or EXTENSION.


target

public SpecVersion target
Generates output for the specified version of the runtime.


targetDir

public File targetDir
Target directory when producing files.

This field is not used when XJC is driven through the XJC API. Plugins that need to generate extra files should do so by using JPackage.addResourceFile(JResourceFile).


entityResolver

public EntityResolver entityResolver
Actually stores CatalogResolver, but the field type is made to EntityResolver so that XJC can be used even if resolver.jar is not available in the classpath.


defaultPackage

public String defaultPackage
The -p option that should control the default Java package that will contain the generated code. Null if unspecified.


defaultPackage2

public String defaultPackage2
Similar to the -p option, but this one works with a lower priority, and customizations overrides this. Used by JAX-RPC.


proxyAuth

public String proxyAuth

activePlugins

public final List<Plugin> activePlugins
Plugins that are enabled in this compilation.


pluginURIs

public final Set<String> pluginURIs
Set of URIs that plug-ins recognize as extension bindings.


classNameAllocator

public ClassNameAllocator classNameAllocator
This allocator has the final say on deciding the class name.


packageLevelAnnotations

public boolean packageLevelAnnotations
This switch controls whether or not xjc will generate package level annotations


classpaths

public final List<URL> classpaths
Constructor Detail

Options

public Options()
Method Detail

isExtensionMode

public boolean isExtensionMode()

getFieldRendererFactory

public FieldRendererFactory getFieldRendererFactory()
Gets the active FieldRendererFactory that shall be used to build Model.

Returns:
always non-null.

setFieldRendererFactory

public void setFieldRendererFactory(FieldRendererFactory frf,
                                    Plugin owner)
                             throws BadCommandLineException
Sets the FieldRendererFactory.

This method is for plugins to call to set a custom FieldRendererFactory.

Parameters:
frf - The FieldRendererFactory to be installed. Must not be null.
owner - Identifies the plugin that owns this FieldRendererFactory. When two Plugins try to call this method, this allows XJC to report it as a user-friendly error message.
Throws:
BadCommandLineException - If a conflit happens, this exception carries a user-friendly error message, indicating a conflict.

getNameConverter

public com.sun.xml.bind.api.impl.NameConverter getNameConverter()
Gets the active NameConverter that shall be used to build Model.

Returns:
can be null, in which case it's up to the binding.

setNameConverter

public void setNameConverter(com.sun.xml.bind.api.impl.NameConverter nc,
                             Plugin owner)
                      throws BadCommandLineException
Sets the NameConverter.

This method is for plugins to call to set a custom NameConverter.

Parameters:
nc - The NameConverter to be installed. Must not be null.
owner - Identifies the plugin that owns this NameConverter. When two Plugins try to call this method, this allows XJC to report it as a user-friendly error message.
Throws:
BadCommandLineException - If a conflit happens, this exception carries a user-friendly error message, indicating a conflict.

getAllPlugins

public List<Plugin> getAllPlugins()
Gets all the Plugins discovered so far.

A plugins are enumerated when this method is called for the first time, by taking classpaths into account. That means "-cp plugin.jar" has to come before you specify options to enable it.


getSchemaLanguage

public Language getSchemaLanguage()

setSchemaLanguage

public void setSchemaLanguage(Language _schemaLanguage)

getGrammars

public InputSource[] getGrammars()
Input schema files.


addGrammar

public void addGrammar(InputSource is)
Adds a new input schema.


addGrammar

public void addGrammar(File source)

addGrammarRecursive

public void addGrammarRecursive(File dir)
Recursively scan directories and add all XSD files in it.


getBindFiles

public InputSource[] getBindFiles()
Input external binding files.


addBindFile

public void addBindFile(InputSource is)
Adds a new binding file.


addBindFile

public void addBindFile(File bindFile)
Adds a new binding file.


addBindFileRecursive

public void addBindFileRecursive(File dir)
Recursively scan directories and add all ".xjb" files in it.


getUserClassLoader

public ClassLoader getUserClassLoader(ClassLoader parent)
Gets a classLoader that can load classes specified via the -classpath option.


parseArgument

public int parseArgument(String[] args,
                         int i)
                  throws BadCommandLineException
Parses an option args[i] and return the number of tokens consumed.

Returns:
0 if the argument is not understood. Returning 0 will let the caller report an error.
Throws:
BadCommandLineException - If the callee wants to provide a custom message for an error.

requireArgument

public String requireArgument(String optionName,
                              String[] args,
                              int i)
                       throws BadCommandLineException
Obtains an operand and reports an error if it's not there.

Throws:
BadCommandLineException

addCatalog

public void addCatalog(File catalogFile)
                throws IOException
Adds a new catalog file.

Throws:
IOException

parseArguments

public void parseArguments(String[] args)
                    throws BadCommandLineException
Parses arguments and fill fields of this object.

Throws:
BadCommandLineException - thrown when there's a problem in the command-line arguments

scanEpisodeFile

public void scanEpisodeFile(File jar)
                     throws BadCommandLineException
Finds the META-INF/sun-jaxb.episode file to add as a binding customization.

Throws:
BadCommandLineException

guessSchemaLanguage

public Language guessSchemaLanguage()
Guesses the schema language.


createCodeWriter

public CodeWriter createCodeWriter()
                            throws IOException
Creates a configured CodeWriter that produces files into the specified directory.

Throws:
IOException

createCodeWriter

public CodeWriter createCodeWriter(CodeWriter core)
Creates a configured CodeWriter that produces files into the specified directory.


getPrologComment

public String getPrologComment()
Gets the string suitable to be used as the prolog comment baked into artifacts. This is the string like "This file was generated by the JAXB RI on YYYY/mm/dd..."


getBuildID

public static String getBuildID()

normalizeSystemId

public static String normalizeSystemId(String systemId)


Copyright © 2015 Oracle Corporation. All Rights Reserved.