- java.lang.Object
-
- 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
Fields Modifier and Type Field Description List<Plugin>
activePlugins
Plugin
s 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.Map<String,String>
classNameReplacer
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 APIString
encoding
Encoding to be used by generated java sources, null for platform default.EntityResolver
entityResolver
On JDK 8 an odler storesCatalogResolver
, but the field type is made toEntityResolver
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 extensionsboolean
noFileHeader
No file header comment (to be more friendly with diff.)boolean
packageLevelAnnotations
This switch controls whether or not xjc will generate package level annotationsSet<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
Constructors Constructor Description Options()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.Use created or existed resolver to parse 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 thePlugin
s discovered so far.InputSource[]
getBindFiles()
Input external binding files.static String
getBuildID()
FieldRendererFactory
getFieldRendererFactory()
Gets the activeFieldRendererFactory
that shall be used to buildModel
.InputSource[]
getGrammars()
Input schema files.String
getModuleName()
Gets Java module name option.NameConverter
getNameConverter()
Gets the activeNameConverter
that shall be used to buildModel
.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..."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 optionargs[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 theMETA-INF/sun-jaxb.episode
file to add as a binding customization.void
setFieldRendererFactory(FieldRendererFactory frf, Plugin owner)
Sets theFieldRendererFactory
.void
setNameConverter(NameConverter nc, Plugin owner)
Sets theNameConverter
.void
setSchemaLanguage(Language _schemaLanguage)
-
-
-
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. EitherSTRICT
orEXTENSION
.
-
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
On JDK 8 an odler storesCatalogResolver
, but the field type is made toEntityResolver
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
-
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
-
-
Method Detail
-
isExtensionMode
public boolean isExtensionMode()
-
getFieldRendererFactory
public FieldRendererFactory getFieldRendererFactory()
Gets the activeFieldRendererFactory
that shall be used to buildModel
.- Returns:
- always non-null.
-
setFieldRendererFactory
public void setFieldRendererFactory(FieldRendererFactory frf, Plugin owner) throws BadCommandLineException
Sets theFieldRendererFactory
.This method is for plugins to call to set a custom
FieldRendererFactory
.- Parameters:
frf
- TheFieldRendererFactory
to be installed. Must not be null.owner
- Identifies the plugin that owns thisFieldRendererFactory
. When twoPlugin
s 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 NameConverter getNameConverter()
Gets the activeNameConverter
that shall be used to buildModel
.- Returns:
- can be null, in which case it's up to the binding.
-
setNameConverter
public void setNameConverter(NameConverter nc, Plugin owner) throws BadCommandLineException
Sets theNameConverter
.This method is for plugins to call to set a custom
NameConverter
.- Parameters:
nc
- TheNameConverter
to be installed. Must not be null.owner
- Identifies the plugin that owns thisNameConverter
. When twoPlugin
s 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 thePlugin
s 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.
-
getModuleName
public String getModuleName()
Gets Java module name option.- Returns:
- Java module name option or
null
if this option was not set.
-
parseArgument
public int parseArgument(String[] args, int i) throws BadCommandLineException
Parses an optionargs[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.Use created or existed resolver to parse 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 theMETA-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()
-
-