Class 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
Modifier and TypeFieldDescriptionPlugin
s that are enabled in this compilation.boolean
If true, try to resolve name conflicts automatically by assigning mechanical numbers.This allocator has the final say on deciding the class name.int
this switch determines how carefully the compiler will follow the compatibility rules in the spec.boolean
When on, generates content property for types with multiple xs:any derived elements (which is supposed to be correct behaviour)boolean
If "-debug" is specified.The -p option that should control the default Java package that will contain the generated code.Similar to the -p option, but this one works with a lower priority, and customizations overrides this.boolean
If true XML security features when parsing XML documents will be disabled.boolean
When on, fixes getter/setter generation to match the Bean Introspection APIEncoding to be used by generated java sources, null for platform default.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 final int
loosely follow the compatibility rules and allow the use of vendor binding extensionsboolean
No file header comment (to be more friendly with diff.)boolean
This switch controls whether or not xjc will generate package level annotationsSet of URIs that plug-ins recognize as extension bindings.boolean
If the "-quiet" option is specified.boolean
If the -readOnly option is specified.boolean
If -explicit-annotation option is specified.static final int
strictly follow the compatibility rules and reject schemas that contain features from App.boolean
Check the source schemas with extra scrutiny.Generates output for the specified version of the runtime.Target directory when producing files.boolean
If the "-verbose" option is specified. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addBindFile
(File bindFile) Adds a new binding file.void
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
Adds a new input schema.void
addGrammarRecursive
(File dir) Recursively scan directories and add all XSD files in it.Creates a configured CodeWriter that produces files into the specified directory.createCodeWriter
(CodeWriter core) Creates a configured CodeWriter that produces files into the specified directory.Gets all thePlugin
s discovered so far.Input external binding files.static String
Gets the activeFieldRendererFactory
that shall be used to buildModel
.Input schema files.Gets Java module name option.Gets the activeNameConverter
that shall be used to buildModel
.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..."getUserClassLoader
(ClassLoader parent) Gets a classLoader that can load classes specified via the -classpath option.Guesses the schema language.boolean
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.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 Details
-
debugMode
public boolean debugModeIf "-debug" is specified. -
verbose
public boolean verboseIf the "-verbose" option is specified. -
quiet
public boolean quietIf the "-quiet" option is specified. -
readOnly
public boolean readOnlyIf the -readOnly option is specified. -
noFileHeader
public boolean noFileHeaderNo file header comment (to be more friendly with diff.) -
enableIntrospection
public boolean enableIntrospectionWhen on, fixes getter/setter generation to match the Bean Introspection API -
contentForWildcard
public boolean contentForWildcardWhen on, generates content property for types with multiple xs:any derived elements (which is supposed to be correct behaviour) -
encoding
Encoding to be used by generated java sources, null for platform default. -
disableXmlSecurity
public boolean disableXmlSecurityIf true XML security features when parsing XML documents will be disabled. The default value is false.Boolean
- Since:
- 2.2.6
-
strictCheck
public boolean strictCheckCheck the source schemas with extra scrutiny. The exact meaning depends on the schema language. -
runtime14
public boolean runtime14If -explicit-annotation option is specified.This generates code that works around issues specific to 1.4 runtime.
-
automaticNameConflictResolution
public boolean automaticNameConflictResolutionIf true, try to resolve name conflicts automatically by assigning mechanical numbers. -
STRICT
public static final int STRICTstrictly follow the compatibility rules and reject schemas that contain features from App. E.2, use vendor binding extensions- See Also:
-
EXTENSION
public static final int EXTENSIONloosely follow the compatibility rules and allow the use of vendor binding extensions- See Also:
-
compatibilityMode
public int compatibilityModethis switch determines how carefully the compiler will follow the compatibility rules in the spec. EitherSTRICT
orEXTENSION
. -
classNameReplacer
-
target
Generates output for the specified version of the runtime. -
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
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
The -p option that should control the default Java package that will contain the generated code. Null if unspecified. -
defaultPackage2
Similar to the -p option, but this one works with a lower priority, and customizations overrides this. Used by JAX-RPC. -
proxyAuth
-
activePlugins
Plugin
s that are enabled in this compilation. -
pluginURIs
Set of URIs that plug-ins recognize as extension bindings. -
classNameAllocator
This allocator has the final say on deciding the class name. -
packageLevelAnnotations
public boolean packageLevelAnnotationsThis switch controls whether or not xjc will generate package level annotations -
classpaths
-
-
Constructor Details
-
Options
public Options()
-
-
Method Details
-
isExtensionMode
public boolean isExtensionMode() -
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
Gets the activeNameConverter
that shall be used to buildModel
.- Returns:
- can be null, in which case it's up to the binding.
-
setNameConverter
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
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
-
setSchemaLanguage
-
getGrammars
Input schema files. -
addGrammar
Adds a new input schema. -
addGrammar
-
addGrammarRecursive
Recursively scan directories and add all XSD files in it. -
getBindFiles
Input external binding files. -
addBindFile
Adds a new binding file. -
addBindFile
Adds a new binding file. -
addBindFileRecursive
Recursively scan directories and add all ".xjb" files in it. -
getUserClassLoader
Gets a classLoader that can load classes specified via the -classpath option. -
getModuleName
Gets Java module name option.- Returns:
- Java module name option or
null
if this option was not set.
-
parseArgument
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
Adds a new catalog file.Use created or existed resolver to parse new catalog file.- Throws:
IOException
-
parseArguments
Parses arguments and fill fields of this object.- Throws:
BadCommandLineException
- thrown when there's a problem in the command-line arguments
-
scanEpisodeFile
Finds theMETA-INF/sun-jaxb.episode
file to add as a binding customization.- Throws:
BadCommandLineException
-
guessSchemaLanguage
Guesses the schema language. -
createCodeWriter
Creates a configured CodeWriter that produces files into the specified directory.- Throws:
IOException
-
createCodeWriter
Creates a configured CodeWriter that produces files into the specified directory. -
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
-
normalizeSystemId
-