COSMOS ${releaseVersion} resource-modeling Project
Internal API Specification

org.eclipse.cosmos.rm.validation.internal.databuilders
Class DocumentDOMBuilder

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by org.eclipse.cosmos.rm.validation.internal.databuilders.AbstractDataBuilder
          extended by org.eclipse.cosmos.rm.validation.internal.databuilders.DocumentDOMBuilder
All Implemented Interfaces:
IDataBuilder, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class DocumentDOMBuilder
extends AbstractDataBuilder

This class will build a map containing all instance documents in a DOM format. The documents will be identified by the document alias


Field Summary
static java.lang.String ID
          The ID of this builder
static java.lang.String NO_ALIAS
          The key used for documents that don't have aliases
 
Fields inherited from class org.eclipse.cosmos.rm.validation.internal.databuilders.AbstractDataBuilder
locator
 
Constructor Summary
DocumentDOMBuilder()
           
 
Method Summary
 void characters(char[] characters, int start, int length)
           
 void comment(char[] characters, int start, int length)
          Create a comment DOM node
 void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
           
 java.lang.Object getDataStructure()
          Returns the data structure.
 ElementLocation getLocation(org.w3c.dom.Element element)
           
 byte getPhase()
          Specifies the phase that this data builder is active during parsing.
 void setLocation(org.w3c.dom.Element element, ElementLocation location)
           
 void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
          This is used to determine the target name space of the document currently being parsed
 
Methods inherited from class org.eclipse.cosmos.rm.validation.internal.databuilders.AbstractDataBuilder
appendToErrorMessage, endDefinitions, endInstances, getCurrentPhase, getDefaultNamespace, getErrorMessage, getFilePath, getPrefixMap, getTargetNamespace, isStructureValid, setDefaultNamespace, setDocumentLocator, setErrorMessage, setFilePath, setPrefixMap, setStructureValidity, setTargetNamespace, startDefinitions, startInstances, tokenizeName
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xml.sax.ContentHandler
endDocument, endPrefixMapping, ignorableWhitespace, processingInstruction, skippedEntity, startDocument, startPrefixMapping
 

Field Detail

ID

public static final java.lang.String ID
The ID of this builder

See Also:
Constant Field Values

NO_ALIAS

public static final java.lang.String NO_ALIAS
The key used for documents that don't have aliases

See Also:
Constant Field Values
Constructor Detail

DocumentDOMBuilder

public DocumentDOMBuilder()
Method Detail

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes attributes)
Description copied from class: AbstractDataBuilder
This is used to determine the target name space of the document currently being parsed

Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class AbstractDataBuilder
See Also:
AbstractDataBuilder.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String qName)
Specified by:
endElement in interface org.xml.sax.ContentHandler
Overrides:
endElement in class AbstractDataBuilder
See Also:
AbstractDataBuilder.endElement(java.lang.String, java.lang.String, java.lang.String)

characters

public void characters(char[] characters,
                       int start,
                       int length)
Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler
See Also:
DefaultHandler.characters(char[], int, int)

comment

public void comment(char[] characters,
                    int start,
                    int length)
Create a comment DOM node

Overrides:
comment in class AbstractDataBuilder

getDataStructure

public java.lang.Object getDataStructure()
Description copied from interface: IDataBuilder
Returns the data structure. The type of the structure must be specified as part of the specification of the class that implements this interface.

Returns:
The data structure
See Also:
IDataBuilder.getDataStructure()

getPhase

public byte getPhase()
Description copied from interface: IDataBuilder
Specifies the phase that this data builder is active during parsing. The parser parses the sml document in two parts: Definitions and Instances phases. The valid values are as follows:
 ISMLConstants.DEFINITIONS_PHASE -databuilder is active during the parsing of the definitions elements
 ISMLConstants.INSTANCES_PHASE -databuilder is active during the parsing of the instances elements
 ISMLConstants.DEFINITIONS_INSTANCES_PHASE - databuilder is active during the parsing of the definitions and instances elements
 

Specified by:
getPhase in interface IDataBuilder
Overrides:
getPhase in class AbstractDataBuilder
Returns:
a phase that this databuilder will be active
See Also:
AbstractDataBuilder.getPhase()

getLocation

public ElementLocation getLocation(org.w3c.dom.Element element)

setLocation

public void setLocation(org.w3c.dom.Element element,
                        ElementLocation location)

COSMOS ${releaseVersion} resource-modeling Project
Internal API Specification