com.sun.tools.xjc.reader.xmlschema.parser
Class XMLSchemaInternalizationLogic

java.lang.Object
  extended by com.sun.tools.xjc.reader.xmlschema.parser.XMLSchemaInternalizationLogic
All Implemented Interfaces:
InternalizationLogic

public class XMLSchemaInternalizationLogic
extends java.lang.Object
implements InternalizationLogic

XML Schema specific internalization logic.


Constructor Summary
XMLSchemaInternalizationLogic()
           
 
Method Summary
 boolean checkIfValidTargetNode(DOMForest parent, org.w3c.dom.Element bindings, org.w3c.dom.Element target)
          Checks if the specified element is a valid target node to attach a customization.
 org.xml.sax.helpers.XMLFilterImpl createExternalReferenceFinder(DOMForest parent)
          Creates a new instance of XMLFilter that can be used to find references to external schemas.
 org.w3c.dom.Element refineTarget(org.w3c.dom.Element target)
          Prepares an element that actually receives customizations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLSchemaInternalizationLogic

public XMLSchemaInternalizationLogic()
Method Detail

createExternalReferenceFinder

public org.xml.sax.helpers.XMLFilterImpl createExternalReferenceFinder(DOMForest parent)
Description copied from interface: InternalizationLogic
Creates a new instance of XMLFilter that can be used to find references to external schemas.

Schemas that are included/imported need to be a part of DOMForest, and this filter will be expected to find such references.

Once such a reference is found, the filter is expected to call the parse method of DOMForest.

DOMForest will register ErrorHandler to the returned object, so any error should be sent to that error handler.

Specified by:
createExternalReferenceFinder in interface InternalizationLogic
Returns:
This method returns XMLFilterImpl because the filter has to be usable for two directions (wrapping a reader and wrapping a ContentHandler)

checkIfValidTargetNode

public boolean checkIfValidTargetNode(DOMForest parent,
                                      org.w3c.dom.Element bindings,
                                      org.w3c.dom.Element target)
Description copied from interface: InternalizationLogic
Checks if the specified element is a valid target node to attach a customization.

Specified by:
checkIfValidTargetNode in interface InternalizationLogic
Parameters:
parent - The owner DOMForest object. Probably useful only to obtain context information, such as error handler.
bindings - <jaxb:bindings> element or a customization element.
Returns:
true if it's OK, false if not.

refineTarget

public org.w3c.dom.Element refineTarget(org.w3c.dom.Element target)
Description copied from interface: InternalizationLogic
Prepares an element that actually receives customizations.

For example, in XML Schema, target nodes can be any schema element but it is always the <xsd:appinfo> element that receives customization.

Specified by:
refineTarget in interface InternalizationLogic
Parameters:
target - The target node designated by the customization.
Returns:
Always return non-null valid object