public class SchemaGenerator
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
CURRENT_VERSION
Generator version.
|
private IClassLocator |
m_classLocator
Locator for finding classes referenced by binding.
|
private org.w3c.dom.Document |
m_document
Document used for all schema definitions.
|
private java.lang.String |
m_indentSequence
Indentation sequence per level of nesting.
|
private boolean |
m_isAttributeQualified
Use qualified attributes default in schema flag.
|
private boolean |
m_isElementQualified
Use qualified elements default in schema flag.
|
private java.util.HashMap |
m_schemaMap
Map from namespaces to schemas.
|
private ObjectStack |
m_structureStack
Stack of structure definitions in progress (used to detect cycles).
|
private boolean |
m_verbose
Show verbose output flag.
|
private static java.util.HashMap |
s_objectTypeMap
Set of object types mapped to schema types.
|
private static java.util.HashMap |
s_primitiveTypeMap
Set of primitive types mapped to schema types.
|
static java.lang.String |
XML_URI
Fixed XML namespace.
|
static java.lang.String |
XMLNS_URI
Fixed XML namespace namespace.
|
private static java.lang.String |
XSD_URI
Schema namespace URI.
|
| Constructor and Description |
|---|
SchemaGenerator(java.util.ArrayList paths)
Constructor with only paths supplied.
|
SchemaGenerator(boolean verbose,
boolean equal,
boolean aqual,
java.util.ArrayList paths)
Constructor with settings specified.
|
| Modifier and Type | Method and Description |
|---|---|
private org.w3c.dom.Element |
addChildElement(org.w3c.dom.Element parent,
java.lang.String name)
Add child element with appropriate indentation.
|
private void |
addComment(org.w3c.dom.Element parent,
java.lang.String text)
Add comment with appropriate indentation.
|
private void |
defineEmptyStructureComponent(StructureElementBase comp,
org.w3c.dom.Element egroup,
org.w3c.dom.Element agroup)
Process a structure component (structure or collection element) with no
name and no child components.
|
private void |
defineList(java.util.ArrayList comps,
org.w3c.dom.Element egroup,
org.w3c.dom.Element agroup,
boolean mult)
Create the schema definition list for a binding component list.
|
private org.w3c.dom.Element |
defineNestedStructure(ContainerElementBase container,
org.w3c.dom.Element parent)
Create the schema definition for a nested structure.
|
private void |
defineStructureComponent(StructureElementBase comp,
org.w3c.dom.Element egroup,
org.w3c.dom.Element agroup,
boolean mult)
Process a structure component (structure or collection element) within a
list of child components.
|
void |
generate(BindingElement binding)
Process a binding definition for schema generation.
|
private void |
generateSchema(BindingElement binding)
Generate a schema from a binding using supplied classpaths.
|
DefinitionContext |
getDefinitions()
Get innermost containing definition context.
|
org.w3c.dom.Element[] |
getSchemas()
Get array of generated schemas.
|
private void |
indentForClose(org.w3c.dom.Element parent)
Generate indentation to proper depth for current item.
|
static void |
main(java.lang.String[] args)
Main method for running compiler as application.
|
void |
setAttributeQualified(boolean qual)
Set control flag for attribute qualified default schema.
|
void |
setElementQualified(boolean qual)
Set control flag for element qualified default schema.
|
void |
setVerbose(boolean verbose)
Set control flag for verbose processing reports.
|
private java.lang.String |
simpleClassName(java.lang.String cname)
Get simple class name.
|
private static java.lang.String CURRENT_VERSION
private static final java.lang.String XSD_URI
public static final java.lang.String XML_URI
public static final java.lang.String XMLNS_URI
private static java.util.HashMap s_objectTypeMap
private static java.util.HashMap s_primitiveTypeMap
private boolean m_verbose
private boolean m_isElementQualified
private boolean m_isAttributeQualified
private java.lang.String m_indentSequence
private java.util.HashMap m_schemaMap
private IClassLocator m_classLocator
private org.w3c.dom.Document m_document
private ObjectStack m_structureStack
public SchemaGenerator(java.util.ArrayList paths)
paths - class paths to be checked for classes referenced by bindingspublic SchemaGenerator(boolean verbose,
boolean equal,
boolean aqual,
java.util.ArrayList paths)
verbose - report binding details and resultsequal - use element form default qualified flagaqual - use attribute form default qualified flagpaths - class paths to be checked for classes referenced by bindingspublic void setVerbose(boolean verbose)
verbose - report verbose information in processing bindings flagpublic void setElementQualified(boolean qual)
qual - element qualified default schemas flagpublic void setAttributeQualified(boolean qual)
qual - attribute qualified default schemas flagpublic org.w3c.dom.Element[] getSchemas()
private void indentForClose(org.w3c.dom.Element parent)
parent - element to contain indented child itemprivate void addComment(org.w3c.dom.Element parent,
java.lang.String text)
parent - element to contain indented child itemtext - comment textprivate org.w3c.dom.Element addChildElement(org.w3c.dom.Element parent,
java.lang.String name)
parent - element to contain indented child itemname - child element namepublic DefinitionContext getDefinitions()
private void defineEmptyStructureComponent(StructureElementBase comp, org.w3c.dom.Element egroup, org.w3c.dom.Element agroup)
comp - structure component to be processedegroup - schema element to contain element definitionsagroup - schema element to contain attribute definitionsprivate void defineStructureComponent(StructureElementBase comp, org.w3c.dom.Element egroup, org.w3c.dom.Element agroup, boolean mult)
comp - structure component to be processedegroup - schema element to contain element definitionsagroup - schema element to contain attribute definitionsmult - allow any number of occurrences of components flagprivate void defineList(java.util.ArrayList comps,
org.w3c.dom.Element egroup,
org.w3c.dom.Element agroup,
boolean mult)
comps - binding component listegroup - schema element to contain element definitionsagroup - schema element to contain attribute definitionsmult - allow any number of occurrences of components flagprivate org.w3c.dom.Element defineNestedStructure(ContainerElementBase container, org.w3c.dom.Element parent)
container - binding definition element containing nested structureparent - schema element to hold the definitionprivate void generateSchema(BindingElement binding)
binding - root element of bindingpublic void generate(BindingElement binding) throws JiBXException
binding - root element of bindingJiBXException - if error in generating the schemaprivate java.lang.String simpleClassName(java.lang.String cname)
cname - class name with full package specificationpublic static void main(java.lang.String[] args)
args - command line arguments