com.sun.tools.xjc.reader.internalizer

Interface InternalizationLogic

public interface InternalizationLogic

Encapsulates schema-language dependent internalization logic. Internalizer and DOMForest are responsible for doing schema language independent part, and this object is responsible for schema language dependent part.
Method Summary
booleancheckIfValidTargetNode(DOMForest parent, Element bindings, Element target)
Checks if the specified element is a valid target node to attach a customization.
XMLFilterImplcreateExternalReferenceFinder(DOMForest parent)
Creates a new instance of XMLFilter that can be used to find references to external schemas.
ElementrefineTarget(Element target)
Prepares an element that actually receives customizations.

Method Detail

checkIfValidTargetNode

public boolean checkIfValidTargetNode(DOMForest parent, Element bindings, Element target)
Checks if the specified element is a valid target node to attach a customization.

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.

createExternalReferenceFinder

public XMLFilterImpl createExternalReferenceFinder(DOMForest parent)
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.

Returns: This method returns XMLFilterImpl because the filter has to be usable for two directions (wrapping a reader and wrapping a ContentHandler)

refineTarget

public Element refineTarget(Element target)
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.

Parameters: target The target node designated by the customization.

Returns: Always return non-null valid object