org.sblim.cimclient.internal.cimxml.sax.node
Class Node

java.lang.Object
  extended by org.sblim.cimclient.internal.cimxml.sax.node.Node
All Implemented Interfaces:
NodeConstIf
Direct Known Subclasses:
AbstractMessageNode, AbstractMethodCallNode, AbstractObjectNode, AbstractParameterNode, AbstractParamValueNode, AbstractPathNode, AbstractPropertyNode, AbstractValueNode, CIMNode, CorrelatorNode, ErrorNode, ExpMethodCallNode, ExpMethodResponseNode, ExpParamValueNode, HostNode, IMethodResponseNode, IReturnValueNode, KeyBindingNode, MessageNode, MethodNode, MethodResponseNode, NameSpaceNode, NameSpacePathNode, QualiDeclNode, QualifierNode, ReturnValueNode, ScopeNode

public abstract class Node
extends Object
implements NodeConstIf

Class Node is the abstract base class of all parseable XML elements. It contains helper functions for the implementations.


Field Summary
 
Fields inherited from interface org.sblim.cimclient.internal.cimxml.sax.NodeConstIf
CIM, CLASS, CLASSNAME, CLASSPATH, CORRELATOR, DECLARATION, DECLGROUP, DECLGROUP_WITHNAME, DECLGROUP_WITHPATH, ERROR, EXPMETHODCALL, EXPMETHODRESPONSE, EXPPARAMVALUE, HOST, IMETHODCALL, IMETHODRESPONSE, INSTANCE, INSTANCENAME, INSTANCEPATH, IPARAMVALUE, IRETURNVALUE, KEYBINDING, KEYVALUE, LOCALCLASSPATH, LOCALINSTANCEPATH, LOCALNAMESPACEPATH, MESSAGE, METHOD, METHODCALL, METHODRESPONSE, MULTIEXPREQ, MULTIEXPRSP, MULTIREQ, MULTIRSP, NAMESPACE, NAMESPACEPATH, OBJECTPATH, PARAMETER, PARAMETER_ARRAY, PARAMETER_REFARRAY, PARAMETER_REFERENCE, PARAMVALUE, PROPERTY, PROPERTY_ARRAY, PROPERTY_REFERENCE, QUALIFIER, QUALIFIER_DECLARATION, RETURNVALUE, SCOPE, SIMPLEEXPREQ, SIMPLEEXPRSP, SIMPLEREQ, SIMPLERSP, VALUE, VALUE_ARRAY, VALUE_INSTANCEWITHPATH, VALUE_NAMEDINSTANCE, VALUE_NAMEDOBJECT, VALUE_NULL, VALUE_OBJECT, VALUE_OBJECTWITHLOCALPATH, VALUE_OBJECTWITHPATH, VALUE_REFARRAY, VALUE_REFERENCE
 
Constructor Summary
Node(String pNameEnum)
          Ctor.
 
Method Summary
abstract  void childParsed(Node pChild)
          Have to be called by SAX's DefaultHandler.endElement()
 void clearCompleted()
          When a Node instance is going to be reused, this function must be called before.
 void duplicatedNode(String pParsedNodeName, String pNewNodeName)
          duplicatedNode
static int getArraySize(Attributes pAttribs)
          ENTITY % ArraySize "ARRAYSIZE CDATA #IMPLIED"
static boolean getBoolAttribute(Attributes pAttribs, String pName, boolean pDefVal)
          getBoolAttribute
static String getCIMName(Attributes pAttribs)
          ENTITY % CIMName "NAME CDATA #REQUIRED"
static CIMDataType getCIMType(Attributes pAttribs)
          getCIMType(pAttribs, pOptional=false);
static CIMDataType getCIMType(Attributes pAttribs, boolean pOptional)
          ENTITY % CIMType "TYPE (boolean|string|char16|uint8|sint8|uint16|sint16|uint32 |sint32|uint64|sint64|datetime|real32|real64)" getCIMType
static String getClassName(Attributes pAttribs)
          ENTITY % ClassName "CLASSNAME CDATA #REQUIRED"
static String getClassOrigin(Attributes pAttribs)
          ENTITY % ClassOrigin "CLASSORIGIN CDATA #IMPLIED
 String getNodeName()
          getNodeName
static CIMDataType getParamType(Attributes pAttribs)
          ENTITY % ParamType "PARAMTYPE ( boolean|string|char16|uint8|sint8|uint16|sint16 |uint32|sint32|uint64|sint64|datetime| real32|real64|reference)
static boolean getPropagated(Attributes pAttribs)
          ENTITY % Propagated "PROPAGATED (true|false) 'false'" getPropagated
 int getQualifierFlavor(Attributes pAttribs)
           ENTITY % QualifierFlavor " OVERRIDABLE (true|false) 'true' TOSUBCLASS (true|false) 'true' TOINSTANCE (true|false) 'false' TRANSLATABLE (true|false) 'false'"
static String getReferenceClass(Attributes pAttribs)
          ENTITY % ReferenceClass "REFERENCECLASS CDATA #IMPLIED"
static boolean hasTrueAttribute(Attributes pAttribs, String pName)
          hasTrueAttribute
 void illegalChildNodePair(String pNodeName0, String pNodeName1)
          illegalChildNodePair
abstract  void init(Attributes pAttribs, SAXSession pSession)
          The SAX ContentHandler implementation calls this method after testChild() and addChild() calls.
 boolean isCompleted()
          completed
abstract  void parseData(String pData)
          XML element's data have to be passed
 void setCompleted()
          Have to be called by SAX's DefaultHandler at endElement(), after calling testCompletness().
abstract  void testChild(String pNodeNameEnum)
          It have to be called by SAX's DefaultHandler implementation when it detects a new child element (startElement()).
abstract  void testCompletness()
          It have to be called by SAX's DefaultHandler.endElement().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Node

public Node(String pNameEnum)
Ctor.

Parameters:
pNameEnum - The name of the node which must be a String constant which is defined inside this class (because the implementation compares by reference).
Method Detail

getNodeName

public String getNodeName()
getNodeName

Returns:
The name of the node. This name have to be one of the String constant defined in the class.

init

public abstract void init(Attributes pAttribs,
                          SAXSession pSession)
                   throws SAXException
The SAX ContentHandler implementation calls this method after testChild() and addChild() calls. The implementation must reset it's instance unless it implements NonVolatileIf

Parameters:
pAttribs -
pSession - - stores variables which are common for the whole SAX parsing session
Throws:
SAXException

parseData

public abstract void parseData(String pData)
                        throws SAXException
XML element's data have to be passed

Parameters:
pData - - String which is concatenated in SAX's DefaultHandler.characters() implementation.
Throws:
SAXException

testChild

public abstract void testChild(String pNodeNameEnum)
                        throws SAXException
It have to be called by SAX's DefaultHandler implementation when it detects a new child element (startElement()).

Parameters:
pNodeNameEnum - - the name of the child element, it must be one of the String constant defined in class Node, because the implementer subclasses uses reference based equals comparisons (==)
Throws:
SAXException - - It have to be thrown when the Node cannot have pNodeNameEnum named child Node.

testCompletness

public abstract void testCompletness()
                              throws SAXException
It have to be called by SAX's DefaultHandler.endElement(). It's task is to check that the Element is built up correctly. The implementer function can do some post processing here. testCompletness

Throws:
SAXException - It must be thrown when the Node is not valid.

childParsed

public abstract void childParsed(Node pChild)
                          throws SAXException
Have to be called by SAX's DefaultHandler.endElement()

Parameters:
pChild -
Throws:
SAXException - - parent Nodes can make conversions here (e.g. type string into CIMDataType), failed operation should throw SAXException)

isCompleted

public boolean isCompleted()
completed

Returns:
true if the parsing of the node is completed

setCompleted

public void setCompleted()
Have to be called by SAX's DefaultHandler at endElement(), after calling testCompletness().


clearCompleted

public void clearCompleted()
When a Node instance is going to be reused, this function must be called before.


getCIMName

public static String getCIMName(Attributes pAttribs)
                         throws SAXException
ENTITY % CIMName "NAME CDATA #REQUIRED"

Parameters:
pAttribs -
Returns:
String
Throws:
SAXException

getClassName

public static String getClassName(Attributes pAttribs)
                           throws SAXException
ENTITY % ClassName "CLASSNAME CDATA #REQUIRED"

Parameters:
pAttribs -
Returns:
String
Throws:
SAXException

getReferenceClass

public static String getReferenceClass(Attributes pAttribs)
ENTITY % ReferenceClass "REFERENCECLASS CDATA #IMPLIED"

Parameters:
pAttribs -
Returns:
String

getClassOrigin

public static String getClassOrigin(Attributes pAttribs)
ENTITY % ClassOrigin "CLASSORIGIN CDATA #IMPLIED

Parameters:
pAttribs -
Returns:
String

getPropagated

public static boolean getPropagated(Attributes pAttribs)
ENTITY % Propagated "PROPAGATED (true|false) 'false'" getPropagated

Parameters:
pAttribs -
Returns:
boolean

getArraySize

public static int getArraySize(Attributes pAttribs)
                        throws SAXException
ENTITY % ArraySize "ARRAYSIZE CDATA #IMPLIED"

Parameters:
pAttribs -
Returns:
int
Throws:
SAXException

getCIMType

public static CIMDataType getCIMType(Attributes pAttribs,
                                     boolean pOptional)
                              throws SAXException
ENTITY % CIMType "TYPE (boolean|string|char16|uint8|sint8|uint16|sint16|uint32 |sint32|uint64|sint64|datetime|real32|real64)" getCIMType

Parameters:
pAttribs -
pOptional -
Returns:
CIMDataType
Throws:
SAXException

getCIMType

public static CIMDataType getCIMType(Attributes pAttribs)
                              throws SAXException
getCIMType(pAttribs, pOptional=false);

Parameters:
pAttribs -
Returns:
CIMDataType
Throws:
SAXException

getParamType

public static CIMDataType getParamType(Attributes pAttribs)
                                throws SAXException
ENTITY % ParamType "PARAMTYPE ( boolean|string|char16|uint8|sint8|uint16|sint16 |uint32|sint32|uint64|sint64|datetime| real32|real64|reference)

Parameters:
pAttribs -
Returns:
CIMDataType
Throws:
SAXException

getQualifierFlavor

public int getQualifierFlavor(Attributes pAttribs)
 ENTITY % QualifierFlavor "
 OVERRIDABLE    (true|false)  'true'
 TOSUBCLASS     (true|false)  'true'
 TOINSTANCE     (true|false)  'false'
 TRANSLATABLE   (true|false)  'false'"
 

Parameters:
pAttribs -
Returns:
int - CIMFlavor bit mixture

hasTrueAttribute

public static boolean hasTrueAttribute(Attributes pAttribs,
                                       String pName)
hasTrueAttribute

Parameters:
pAttribs -
pName -
Returns:
boolean

getBoolAttribute

public static boolean getBoolAttribute(Attributes pAttribs,
                                       String pName,
                                       boolean pDefVal)
getBoolAttribute

Parameters:
pAttribs -
pName -
pDefVal -
Returns:
boolean

duplicatedNode

public void duplicatedNode(String pParsedNodeName,
                           String pNewNodeName)
                    throws SAXException
duplicatedNode

Parameters:
pParsedNodeName -
pNewNodeName -
Throws:
SAXException

illegalChildNodePair

public void illegalChildNodePair(String pNodeName0,
                                 String pNodeName1)
                          throws SAXException
illegalChildNodePair

Parameters:
pNodeName0 -
pNodeName1 -
Throws:
SAXException


Copyright © 2005, 2013 IBM Corporation. All Rights Reserved.