com.bbn.swede.core.dom
Class TextNode

java.lang.Object
  extended bycom.bbn.swede.core.dom.OASTNode
      extended bycom.bbn.swede.core.dom.TextNode
Direct Known Subclasses:
Doctype, Literal, ProcessingInstruction, UnparseableNode, XMLComment

public abstract class TextNode
extends OASTNode

Common implementation for text nodes. A text node is any node that has no special meaning in OWL. Primarily, this means XML prolog elements, literals, XML comments, and unparseable XML errors caught by SWeDE.

Author:
jlerner

Nested Class Summary
 
Nested classes inherited from class com.bbn.swede.core.dom.OASTNode
OASTNode.NodeCleanupVisitor, OASTNode.NodeInitVisitor
 
Field Summary
(package private)  String _sText
          The text of the text node.
 
Fields inherited from class com.bbn.swede.core.dom.OASTNode
_iLength, _iOffset, _nodeParent, _tree, AS_OWL, AS_RDF, AS_RDFS, BASE, COMMENT, DOCTYPE, DOCUMENT, GENERICATTRIBUTE, GENERICPREDICATE, GENERICTHING, LITERAL, NAMESPACE, OWL, OWL_ALLDIFFERENT, OWL_ALLVALUESFROM, OWL_ANNOTATIONPROPERTY, OWL_BACKWARDCOMPATIBLEWITH, OWL_CARDINALITY, OWL_CLASS, OWL_COMPLEMENTOF, OWL_DATARANGE, OWL_DATATYPEPROPERTY, OWL_DEPRECATEDCLASS, OWL_DEPRECATEDPROPERTY, OWL_DIFFERENTFROM, OWL_DISJOINTWITH, OWL_DISTINCTMEMBERS, OWL_EQUIVALENTCLASS, OWL_EQUIVALENTPROPERTY, OWL_FUNCTIONALPROPERTY, OWL_HASVALUE, OWL_IMPORTS, OWL_INCOMPATIBLEWITH, OWL_INTERSECTIONOF, OWL_INVERSEFUNCTIONALPROPERTY, OWL_INVERSEOF, OWL_MAXCARDINALITY, OWL_MINCARDINALITY, OWL_NOTHING, OWL_OBJECTPROPERTY, OWL_ONEOF, OWL_ONPROPERTY, OWL_ONTOLOGY, OWL_ONTOLOGYPROPERTY, OWL_PRIORVERSION, OWL_RESTRICTION, OWL_SAMEAS, OWL_SOMEVALUESFROM, OWL_SYMMETRICPROPERTY, OWL_THING, OWL_TRANSITIVEPROPERTY, OWL_UNIONOF, OWL_VERSIONINFO, PROCESSING_INSTRUCTION, RDF, RDF_ABOUT, RDF_ALT, RDF_BAG, RDF_DATATYPE, RDF_DESCRIPTION, RDF_FIRST, RDF_ID, RDF_LIST, RDF_NODEID, RDF_OBJECT, RDF_PARSETYPE, RDF_PREDICATE, RDF_PROPERTY, RDF_RDF, RDF_RESOURCE, RDF_REST, RDF_SEQ, RDF_STATEMENT, RDF_SUBJECT, RDF_TYPE, RDF_VALUE, RDF_XMLLITERAL, RDFS, RDFS_CLASS, RDFS_COMMENT, RDFS_CONTAINER, RDFS_CONTAINERMEMBERSHIPPROPERTY, RDFS_DATATYPE, RDFS_DOMAIN, RDFS_ISDEFINEDBY, RDFS_LABEL, RDFS_LITERAL, RDFS_MEMBER, RDFS_RANGE, RDFS_RESOURCE, RDFS_SEEALSO, RDFS_SUBCLASSOF, RDFS_SUBPROPERTYOF, S_OWL_URI, S_RDF_URI, S_RDFS_URI, S_XSD_URI, UNPARSEABLE, XML_VERSION
 
Constructor Summary
TextNode(String sText)
          Creates a text node.
 
Method Summary
 Object clone()
          Creates a deep copy of a node and all nodes below it in the tree.
static TextNode create(int iType, String sText)
          Factory method for creating text nodes.
protected  OASTNode duplicateType()
          Creates a new OAST node of the same type as this one.
 String generateNodeText()
          Subclasses must implement this method to provide text representing the contents of the node and its children.
 String getName()
          Returns the node's local name.
 String getNamespace()
          Returns the namespace abbreviation for the node.
 String getQName()
          Returns the node's qualified name.
 String getText()
          Retrieves the full text of the node.
 void setText(String sText)
          Sets the full text of the text node.
 IRegion[] simplePartitioning()
          Returns a rough partitioning of the node based on the node's tag structure; child nodes are not taken into account.
 String toString()
          Returns a string representation of the node.
 
Methods inherited from class com.bbn.swede.core.dom.OASTNode
accept, allowedChildren, appendChild, attach, cleanup, createChild, createChildAttribute, detach, displace, displace, endsBefore, findCommonAncestor, findXmlBase, getChildren, getContainingChild, getDefaultNamespace, getFirstChild, getLastAttribute, getLength, getLevel, getLockObject, getNamespaces, getNextChild, getNodesOfType, getNodesOfType, getNodeType, getOffset, getOWLAbstractSyntaxTree, getOWLDocument, getParent, getPreviousChild, getQName, getRoot, getUri, getXmlBase, init, insert, match, remove, replace, setLength, setOffset, startsAfter
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_sText

String _sText
The text of the text node. Generally, other classes should modify the node text using the OAST API so an event is generated. This member is package visible for the parser, which needs to be able to modify the node text without triggering any offset changes or events.

See Also:
setText(String)
Constructor Detail

TextNode

public TextNode(String sText)
Creates a text node.

Parameters:
sText - The full text for the node.
Method Detail

generateNodeText

public String generateNodeText()
Description copied from class: OASTNode
Subclasses must implement this method to provide text representing the contents of the node and its children. This method is only used by the editor for inserting an extrnally-constructed node (i.e., as a result of a New... wizard) into the text. The formatting of the generated text is thus unimportant, as it will likely be modified by the Auto-Indent Strategy and Content Formatter anyway.

Specified by:
generateNodeText in class OASTNode
Returns:
A text approximation of the node and its children

create

public static TextNode create(int iType,
                              String sText)
Factory method for creating text nodes. Returns a node of the specified type with no parent and no children.

Parameters:
iType - One of the OASTNode type constants specifying a text node type. This includes LITERAL, DOCTYPE, PROCESSING_INSTRUCTION, XML_VERSION, UNPARSEABLE, and COMMENT.
sText - The text for the new text node
Returns:
A node of the specified type, or null if an unknown or non-text node type is specified.

setText

public void setText(String sText)
             throws OASTException
Sets the full text of the text node.

Parameters:
sText - The new node text.
Throws:
OASTException - if this node is attached to a read-only OAST

getText

public String getText()
Retrieves the full text of the node.

Returns:
The node text.

toString

public String toString()
Description copied from class: OASTNode
Returns a string representation of the node. The default implementation just returns the node's qname, but subclasses may override it to supply something more appropriate.

Overrides:
toString in class OASTNode
Returns:
A string representation of the node.

simplePartitioning

public IRegion[] simplePartitioning()
Description copied from class: OASTNode

Returns a rough partitioning of the node based on the node's tag structure; child nodes are not taken into account. Partitioning should be as follows:

Specified by:
simplePartitioning in class OASTNode
Returns:
A rough partitioning of the node.

getName

public String getName()
Description copied from class: OASTNode
Returns the node's local name. This implementation returns local names for language nodes, and null for everything else. Subclasses that represent non-language tags and attributes should override this method to return a non-null local name.

Overrides:
getName in class OASTNode
Returns:
The local name of the node, or null if it is not a language node

getQName

public String getQName()
Description copied from class: OASTNode
Returns the node's qualified name. This implementation returns qnames for language nodes, and null for everything else. Subclasses that represent non-language tags and attributes should override this method to return a non-null qname.

Overrides:
getQName in class OASTNode
Returns:
The qualified name of the node, or null if it is not a lanuage node

getNamespace

public String getNamespace()
Description copied from class: OASTNode
Returns the namespace abbreviation for the node. This implementation returns one of "owl", "rdfs", or "rdf" for language nodes or null for anything else. Subclasses that represent non-language tags or attributes should override this method to return a non-null namespace.

Overrides:
getNamespace in class OASTNode
Returns:
The namespace abbreviation for the node, or null if it is not a language node

duplicateType

protected OASTNode duplicateType()
Description copied from class: OASTNode
Creates a new OAST node of the same type as this one.

Specified by:
duplicateType in class OASTNode
Returns:
A new node of the same node type

clone

public Object clone()
Description copied from class: OASTNode
Creates a deep copy of a node and all nodes below it in the tree. The resulting copy is not attached to any OWL abstract syntax tree.

Overrides:
clone in class OASTNode
Returns:
A deep copy of this node, including copies of any node structure below it in the tree.


Copyright © 2004-2005 BBN Technologies. All Rights Reserved.