org.jibx.schema
Class SchemaHolder

java.lang.Object
  extended by org.jibx.util.HolderBase
      extended by org.jibx.schema.SchemaHolder

public class SchemaHolder
extends HolderBase

External data for a schema definition. This tracks references to other schemas, along with the associated namespace information. The finish() method actually generates the includes.

Author:
Dennis M. Sosnoski

Constructor Summary
SchemaHolder(SchemaElement schema)
          Constructor for existing schema definition file.
SchemaHolder(String uri)
          Constructor for new schema definition file.
 
Method Summary
 String addElementName(String base)
          Add element name to set defined.
protected  void addNamespaceDecl(String prefix, String uri)
          Implementation method to handle adding a namespace declaration.
 String addTypeName(String base)
          Add type name to set defined.
 void finish()
          Implementation method to handle references from this schema to other schemas.
 SchemaElement getSchema()
          Get the schema definition.
 
Methods inherited from class org.jibx.util.HolderBase
addReference, getFileName, getNamespace, getPrefix, getReferences, isExistingFile, isModifiable, setFileName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SchemaHolder

public SchemaHolder(String uri)
Constructor for new schema definition file.

Parameters:
uri - (null if no-namespace schema)

SchemaHolder

public SchemaHolder(SchemaElement schema)
Constructor for existing schema definition file.

Parameters:
schema - schema definition
Method Detail

getSchema

public SchemaElement getSchema()
Get the schema definition.

Returns:
definition

addTypeName

public String addTypeName(String base)
Add type name to set defined. This assures uniqueness of the name used, if necessary modifying the supplied base name to a unique alternative.

Parameters:
base - name to try adding
Returns:
name to be used for type

addElementName

public String addElementName(String base)
Add element name to set defined. This assures uniqueness of the name used, if necessary modifying the supplied base name to a unique alternative. The same set of names is also used for groups and attributeGroups, even though these name sets are separate in schema terms. Doing things this way avoids the possibility of an element name matching a group name with the two representing different structures.

Parameters:
base - name to try adding
Returns:
name to be used for element

addNamespaceDecl

protected void addNamespaceDecl(String prefix,
                                String uri)
Implementation method to handle adding a namespace declaration. This sets up the namespace declaration for output in the generated XML.

Specified by:
addNamespaceDecl in class HolderBase
Parameters:
prefix -
uri -

finish

public void finish()
Implementation method to handle references from this schema to other schemas. This adds import elements to the constructed schema for all referenced schemas.

Overrides:
finish in class HolderBase


Copyright © 2005-2012 jibx.org. All Rights Reserved.