com.sun.msv.relaxns.verifier
Class IslandSchemaImpl

java.lang.Object
  extended by com.sun.msv.relaxns.verifier.IslandSchemaImpl
All Implemented Interfaces:
Serializable, org.iso_relax.dispatcher.IslandSchema
Direct Known Subclasses:
RELAXIslandSchema, TREXIslandSchema

public abstract class IslandSchemaImpl
extends Object
implements org.iso_relax.dispatcher.IslandSchema, Serializable

base implementation of IslandSchema for MSV. the iso_relax package doesn't have the distinction between AGM and VGM. For the safety, the implementation of the createNewVerifier method creates a new VGM everytime it is called. Fortunately, when all island schemas are from MSV, the application can simply treat RELAXGrammar as a normal Grammar object; there is no need to use Dispatcher nor any divide-and-validate framework. So createNewVerifier method is called only when

In that case, the current createNewVerifier method causes a performance problem.

Author:
Kohsuke KAWAGUCHI
See Also:
Serialized Form

Nested Class Summary
static class IslandSchemaImpl.Binder
          replaces all ExternalElementExp and ExternalAttributeExp by actual definitions.
 
Field Summary
protected  Map<String,org.iso_relax.dispatcher.AttributesDecl> attributesDecls
          map from name to DeclImpl.
protected  Map<String,org.iso_relax.dispatcher.ElementDecl> elementDecls
          map from name to DeclImpl.
 
Constructor Summary
IslandSchemaImpl()
           
 
Method Summary
protected  void bind(ReferenceContainer con, IslandSchemaImpl.Binder binder)
           
 org.iso_relax.dispatcher.AttributesVerifier createNewAttributesVerifier(String namespaceURI, org.iso_relax.dispatcher.AttributesDecl[] decls)
           
 org.iso_relax.dispatcher.IslandVerifier createNewVerifier(String namespace, org.iso_relax.dispatcher.ElementDecl[] rules)
           
 org.iso_relax.dispatcher.AttributesDecl getAttributesDeclByName(String name)
           
 org.iso_relax.dispatcher.AttributesDecl[] getAttributesDecls()
           
 org.iso_relax.dispatcher.ElementDecl getElementDeclByName(String name)
           
 org.iso_relax.dispatcher.ElementDecl[] getElementDecls()
           
protected abstract  Grammar getGrammar()
          get the grammar object that represents this island.
 Iterator<org.iso_relax.dispatcher.AttributesDecl> iterateAttributesDecls()
           
 Iterator<org.iso_relax.dispatcher.ElementDecl> iterateElementDecls()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.iso_relax.dispatcher.IslandSchema
bind
 

Field Detail

elementDecls

protected final Map<String,org.iso_relax.dispatcher.ElementDecl> elementDecls
map from name to DeclImpl.


attributesDecls

protected final Map<String,org.iso_relax.dispatcher.AttributesDecl> attributesDecls
map from name to DeclImpl.

Constructor Detail

IslandSchemaImpl

public IslandSchemaImpl()
Method Detail

createNewVerifier

public org.iso_relax.dispatcher.IslandVerifier createNewVerifier(String namespace,
                                                                 org.iso_relax.dispatcher.ElementDecl[] rules)
Specified by:
createNewVerifier in interface org.iso_relax.dispatcher.IslandSchema

getGrammar

protected abstract Grammar getGrammar()
get the grammar object that represents this island.


getElementDeclByName

public org.iso_relax.dispatcher.ElementDecl getElementDeclByName(String name)
Specified by:
getElementDeclByName in interface org.iso_relax.dispatcher.IslandSchema

iterateElementDecls

public Iterator<org.iso_relax.dispatcher.ElementDecl> iterateElementDecls()
Specified by:
iterateElementDecls in interface org.iso_relax.dispatcher.IslandSchema

getElementDecls

public org.iso_relax.dispatcher.ElementDecl[] getElementDecls()
Specified by:
getElementDecls in interface org.iso_relax.dispatcher.IslandSchema

getAttributesDeclByName

public org.iso_relax.dispatcher.AttributesDecl getAttributesDeclByName(String name)
Specified by:
getAttributesDeclByName in interface org.iso_relax.dispatcher.IslandSchema

iterateAttributesDecls

public Iterator<org.iso_relax.dispatcher.AttributesDecl> iterateAttributesDecls()
Specified by:
iterateAttributesDecls in interface org.iso_relax.dispatcher.IslandSchema

getAttributesDecls

public org.iso_relax.dispatcher.AttributesDecl[] getAttributesDecls()
Specified by:
getAttributesDecls in interface org.iso_relax.dispatcher.IslandSchema

createNewAttributesVerifier

public org.iso_relax.dispatcher.AttributesVerifier createNewAttributesVerifier(String namespaceURI,
                                                                               org.iso_relax.dispatcher.AttributesDecl[] decls)
Specified by:
createNewAttributesVerifier in interface org.iso_relax.dispatcher.IslandSchema

bind

protected void bind(ReferenceContainer con,
                    IslandSchemaImpl.Binder binder)


MSV