com.sun.tools.xjc
public class Options extends Object
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 | enableIntrospection When on, fixes getter/setter generation to match the Bean Introspection API |
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. |
boolean | quiet If the "-quiet" option is specified. |
boolean | readOnly If the -readOnly option is specified. |
boolean | runtime14
If -explicit-annotation option is specified.
|
boolean | strictCheck
Check the source schemas with extra scrutiny.
|
static int | STRICT
strictly follow the compatibility rules and reject schemas that
contain features from App. |
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(InputSource is)
Adds a new binding file. |
void | addBindFile(File bindFile)
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(InputSource is)
Adds a new input schema. |
void | addGrammar(File source) |
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. |
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() |
URLClassLoader | getUserClassLoader(ClassLoader parent)
Gets a classLoader that can load classes specified via the
-classpath option. |
Language | guessSchemaLanguage()
Guesses the schema language. |
boolean | isExtensionMode() |
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(NameConverter nc, Plugin owner)
Sets the NameConverter.
|
void | setSchemaLanguage(Language _schemaLanguage) |
STRICT
or EXTENSION
.This generates code that works around issues specific to 1.4 runtime.
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).
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.
Returns: can be null, in which case it's up to the binding.
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.
Throws: BadCommandLineException thrown when there's a problem in the command-line arguments
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.
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.