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

Class Node

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.
Constructor Summary
Node(String pNameEnum)
Ctor.
Method Summary
abstract voidchildParsed(Node pChild)
Have to be called by SAX's DefaultHandler.endElement()
voidclearCompleted()
When a Node instance is going to be reused, this function must be called before.
voidduplicatedNode(String pParsedNodeName, String pNewNodeName)
duplicatedNode
static intgetArraySize(Attributes pAttribs)
ENTITY % ArraySize "ARRAYSIZE CDATA #IMPLIED"
static booleangetBoolAttribute(Attributes pAttribs, String pName, boolean pDefVal)
getBoolAttribute
static StringgetCIMName(Attributes pAttribs)
ENTITY % CIMName "NAME CDATA #REQUIRED"
static CIMDataTypegetCIMType(Attributes pAttribs, boolean pOptional)
ENTITY % CIMType "TYPE (boolean|string|char16|uint8|sint8|uint16|sint16|uint32|sint32|uint64|sint64|datetime|real32|real64)" getCIMType
static CIMDataTypegetCIMType(Attributes pAttribs)
getCIMType(pAttribs, pOptional=false);
static StringgetClassName(Attributes pAttribs)
ENTITY % ClassName "CLASSNAME CDATA #REQUIRED"
static StringgetClassOrigin(Attributes pAttribs)
ENTITY % ClassOrigin "CLASSORIGIN CDATA #IMPLIED
StringgetNodeName()
getNodeName
static CIMDataTypegetParamType(Attributes pAttribs)
ENTITY % ParamType "PARAMTYPE ( boolean|string|char16|uint8|sint8|uint16|sint16|uint32|sint32|uint64|sint64|datetime| real32|real64|reference)
static booleangetPropagated(Attributes pAttribs)
ENTITY % Propagated "PROPAGATED (true|false) 'false'" getPropagated
intgetQualifierFlavor(Attributes pAttribs)
 ENTITY % QualifierFlavor "
 OVERRIDABLE    (true|false)  'true'
 TOSUBCLASS     (true|false)  'true'
 TOINSTANCE     (true|false)  'false'
 TRANSLATABLE   (true|false)  'false'"
 
static StringgetReferenceClass(Attributes pAttribs)
ENTITY % ReferenceClass "REFERENCECLASS CDATA #IMPLIED"
static booleanhasTrueAttribute(Attributes pAttribs, String pName)
hasTrueAttribute
voidillegalChildNodePair(String pNodeName0, String pNodeName1)
illegalChildNodePair
abstract voidinit(Attributes pAttribs, SAXSession pSession)
The SAX ContentHandler implementation calls this method after testChild() and addChild() calls.
static ArrayListinitArrayList(ArrayList pAL)
initArrayList
booleanisCompleted()
completed
abstract voidparseData(String pData)
XML element's data have to be passed
voidsetCompleted()
Have to be called by SAX's DefaultHandler at endElement(), after calling testCompletness().
abstract voidtestChild(String pNodeNameEnum)
It have to be called by SAX's DefaultHandler implementation when it detects a new child element (startElement()).
abstract voidtestCompletness()
It have to be called by SAX's DefaultHandler.endElement().

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

childParsed

public abstract void childParsed(Node pChild)
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)

clearCompleted

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

duplicatedNode

public void duplicatedNode(String pParsedNodeName, String pNewNodeName)
duplicatedNode

Parameters: pParsedNodeName pNewNodeName

Throws: SAXException

getArraySize

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

Parameters: pAttribs

Returns: int

getBoolAttribute

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

Parameters: pAttribs pName pDefVal

Returns: boolean

getCIMName

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

Parameters: pAttribs

Returns: String

Throws: SAXException

getCIMType

public 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

Parameters: pAttribs pOptional

Returns: CIMDataType

Throws: SAXException

getCIMType

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

Parameters: pAttribs

Returns: CIMDataType

Throws: SAXException

getClassName

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

Parameters: pAttribs

Returns: String

Throws: SAXException

getClassOrigin

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

Parameters: pAttribs

Returns: String

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.

getParamType

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

Parameters: pAttribs

Returns: CIMDataType

getPropagated

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

Parameters: pAttribs

Returns: boolean

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

getReferenceClass

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

Parameters: pAttribs

Returns: String

hasTrueAttribute

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

Parameters: pAttribs pName

Returns: boolean

illegalChildNodePair

public void illegalChildNodePair(String pNodeName0, String pNodeName1)
illegalChildNodePair

Parameters: pNodeName0 pNodeName1

Throws: SAXException

init

public abstract void init(Attributes pAttribs, SAXSession pSession)
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

initArrayList

public static ArrayList initArrayList(ArrayList pAL)
initArrayList

Parameters: pAL

Returns: ArrayList

isCompleted

public boolean isCompleted()
completed

Returns: true if the parsing of the node is completed

parseData

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

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

Throws: SAXException

setCompleted

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

testChild

public abstract void testChild(String pNodeNameEnum)
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 comparisions (==)

Throws: SAXException - It have to be thrown when the Node cannot have pNodeNameEnum named child Node.

testCompletness

public abstract void testCompletness()
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 fuction can do some postprocessing here. testCompletness

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

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