com.hlcl.rql.as
Class RQLNode

java.lang.Object
  extended by com.hlcl.rql.as.RQLNode

public abstract class RQLNode
extends java.lang.Object

Instanzen dieser Klasse beschreiben ein Bestandteil einer RQL-Antwort vom CMS. Dabei kann es sich um ein Element (d.h. ein Tag) oder um einen Text innerhalb eines Tags handeln.

Author:
BURMEBJ

Constructor Summary
RQLNode()
           
 
Method Summary
abstract  RQLNode copy()
          Returns a new instance of this node with same data.
abstract  RQLNode copy(java.lang.String skipAttributeNames, java.lang.String delimiter)
          Returns a new instance with same data as this node except the given attributes names skipAttributeNames.
abstract  java.lang.String getAttribute(java.lang.String key)
          Diese Methode liefert den Wert des übergebenen Attributes.
abstract  java.util.Set<java.lang.String> getAttributeKeys()
          Deliver all attribute key values of this tag.
abstract  java.util.Map<java.lang.String,java.lang.String> getAttributes()
          Deliver all attributes of this tag as an key value map.
abstract  RQLNodeList getChildren()
          Diese Methode liefert die children dieses RQLNodes in Form einer RQLNodeList.
abstract  java.lang.String getName()
          Diese Methode liefert den Namen dieses RQLNodes.
 RQLNode getNode(java.lang.String nodeName)
          Diese Methode durchsucht diesen RQLNode und dessen Nachkommen (children, ...) darauf, ob es ein Tag mit dem Namen nodeName gibt.
 RQLNodeList getNodes(java.lang.String nodeName)
          Diese Methode durchsucht diesen RQLNode und alle Nachkommen (children, ...) nach Tags mit dem Namen nodeName.
abstract  java.lang.String getText()
          Diese Methode liefert den Text dieses Nodes.
abstract  boolean isTagNode()
          Diese Methode liefert true, wenn es sich bei diesem RQLNode um ein Tag handelt, ansonsten false.
abstract  boolean isTextNode()
          Diese Methode liefert true, wenn es sich bei diesem RQLNode um einen Text handelt, ansonsten false.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RQLNode

public RQLNode()
Method Detail

isTagNode

public abstract boolean isTagNode()
Diese Methode liefert true, wenn es sich bei diesem RQLNode um ein Tag handelt, ansonsten false.

Returns:
boolean: s.o.

isTextNode

public abstract boolean isTextNode()
Diese Methode liefert true, wenn es sich bei diesem RQLNode um einen Text handelt, ansonsten false.

Returns:
boolean: s.o.

getAttribute

public abstract java.lang.String getAttribute(java.lang.String key)
Diese Methode liefert den Wert des übergebenen Attributes. Falls dieser RQLNode ein Text ist, liefert die Methode null. Das ist auch dann der Fall, wenn es sich bei diesem RQLNode um ein Tag handelt, das das angegebene Attribut nicht enthält.

Parameters:
key - String: s.o.
Returns:
String: s.o.

getChildren

public abstract RQLNodeList getChildren()
Diese Methode liefert die children dieses RQLNodes in Form einer RQLNodeList.

Returns:
RQLNodeList: s.o.

getName

public abstract java.lang.String getName()
Diese Methode liefert den Namen dieses RQLNodes. Das ist im Falle eines Tags dessen Name. Im Falle eines texted liefert die Methode null.

Returns:
String: s.o.

getText

public abstract java.lang.String getText()
                                  throws RQLException
Diese Methode liefert den Text dieses Nodes. Handelt es sich um einen TextNode, so wird einfach dieser Text geliefert. Handelt es sich um einen Tag-Node, so liefert die Methode: - null, wenn das Tag keine children hat, - den enthaltenen Text, wenn das Tag genau ein child vom Typ "Text" hat. - andernfalls kommt es zu einer RuntimeException.

Returns:
String: s.o.
Throws:
RQLException

getNodes

public RQLNodeList getNodes(java.lang.String nodeName)
                     throws RQLException
Diese Methode durchsucht diesen RQLNode und alle Nachkommen (children, ...) nach Tags mit dem Namen nodeName. Wenn alle gefundenen Tags den gleichen parent haben, werden diese Tags in Form einer RQLNodeList zurückgegeben. Wenn Tags mit unterschiedlichen Parents gefunden werden, kommt es zu einer RuntimeException. Wenn keine Tags gefunden werden, liefert die Methode null zurück.

Parameters:
nodeName - String: s.o.
Returns:
RQLNodeList: s.o.
Throws:
RQLException

getNode

public RQLNode getNode(java.lang.String nodeName)
                throws RQLException
Diese Methode durchsucht diesen RQLNode und dessen Nachkommen (children, ...) darauf, ob es ein Tag mit dem Namen nodeName gibt. Wenn genau ein solches Tag gefunden wird, wird der entsprechende RQLNode zurückgegeben. Wenn kein Tag gefunden wird, wird null zurückgegeben. Wenn mehrere Tags des gesuchten Namens gefunden werden, kommt es zu einer RuntimeException.

Parameters:
nodeName - String: s.o.
Returns:
RQLNode: s.o.
Throws:
RQLException

copy

public abstract RQLNode copy()
Returns a new instance of this node with same data.


copy

public abstract RQLNode copy(java.lang.String skipAttributeNames,
                             java.lang.String delimiter)
Returns a new instance with same data as this node except the given attributes names skipAttributeNames. Children are copied as well.


getAttributeKeys

public abstract java.util.Set<java.lang.String> getAttributeKeys()
Deliver all attribute key values of this tag.


getAttributes

public abstract java.util.Map<java.lang.String,java.lang.String> getAttributes()
Deliver all attributes of this tag as an key value map.