Class Node
- java.lang.Object
-
- 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 java.lang.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
Constructors Constructor Description Node(java.lang.String pNameEnum)Ctor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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(java.lang.String pParsedNodeName, java.lang.String pNewNodeName)duplicatedNodestatic intgetArraySize(org.xml.sax.Attributes pAttribs)ENTITY % ArraySize "ARRAYSIZE CDATA #IMPLIED"static booleangetBoolAttribute(org.xml.sax.Attributes pAttribs, java.lang.String pName, boolean pDefVal)getBoolAttributestatic java.lang.StringgetCIMName(org.xml.sax.Attributes pAttribs)ENTITY % CIMName "NAME CDATA #REQUIRED"static CIMDataTypegetCIMType(org.xml.sax.Attributes pAttribs)getCIMType(pAttribs, pOptional=false);static CIMDataTypegetCIMType(org.xml.sax.Attributes pAttribs, boolean pOptional)ENTITY % CIMType "TYPE (boolean|string|char16|uint8|sint8|uint16|sint16|uint32 |sint32|uint64|sint64|datetime|real32|real64)" getCIMTypestatic java.lang.StringgetClassName(org.xml.sax.Attributes pAttribs)ENTITY % ClassName "CLASSNAME CDATA #REQUIRED"static java.lang.StringgetClassOrigin(org.xml.sax.Attributes pAttribs)ENTITY % ClassOrigin "CLASSORIGIN CDATA #IMPLIEDjava.lang.StringgetNodeName()getNodeNamestatic CIMDataTypegetParamType(org.xml.sax.Attributes pAttribs)ENTITY % ParamType "PARAMTYPE ( boolean|string|char16|uint8|sint8|uint16|sint16 |uint32|sint32|uint64|sint64|datetime| real32|real64|reference)static booleangetPropagated(org.xml.sax.Attributes pAttribs)ENTITY % Propagated "PROPAGATED (true|false) 'false'" getPropagatedintgetQualifierFlavor(org.xml.sax.Attributes pAttribs)ENTITY % QualifierFlavor " OVERRIDABLE (true|false) 'true' TOSUBCLASS (true|false) 'true' TOINSTANCE (true|false) 'false' TRANSLATABLE (true|false) 'false'"static java.lang.StringgetReferenceClass(org.xml.sax.Attributes pAttribs)ENTITY % ReferenceClass "REFERENCECLASS CDATA #IMPLIED"static booleanhasTrueAttribute(org.xml.sax.Attributes pAttribs, java.lang.String pName)hasTrueAttributevoidillegalChildNodePair(java.lang.String pNodeName0, java.lang.String pNodeName1)illegalChildNodePairabstract voidinit(org.xml.sax.Attributes pAttribs, SAXSession pSession)The SAX ContentHandler implementation calls this method after testChild() and addChild() calls.booleanisCompleted()completedabstract voidparseData(java.lang.String pData)XML element's data have to be passedvoidsetCompleted()Have to be called by SAX's DefaultHandler at endElement(), after calling testCompletness().abstract voidtestChild(java.lang.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().
-
-
-
Method Detail
-
getNodeName
public java.lang.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(org.xml.sax.Attributes pAttribs, SAXSession pSession) throws org.xml.sax.SAXExceptionThe 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:
org.xml.sax.SAXException
-
parseData
public abstract void parseData(java.lang.String pData) throws org.xml.sax.SAXExceptionXML element's data have to be passed- Parameters:
pData- - String which is concatenated in SAX's DefaultHandler.characters() implementation.- Throws:
org.xml.sax.SAXException
-
testChild
public abstract void testChild(java.lang.String pNodeNameEnum) throws org.xml.sax.SAXExceptionIt 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:
org.xml.sax.SAXException- - It have to be thrown when the Node cannot have pNodeNameEnum named child Node.
-
testCompletness
public abstract void testCompletness() throws org.xml.sax.SAXExceptionIt 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:
org.xml.sax.SAXException- It must be thrown when the Node is not valid.
-
childParsed
public abstract void childParsed(Node pChild) throws org.xml.sax.SAXException
Have to be called by SAX's DefaultHandler.endElement()- Parameters:
pChild-- Throws:
org.xml.sax.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 java.lang.String getCIMName(org.xml.sax.Attributes pAttribs) throws org.xml.sax.SAXExceptionENTITY % CIMName "NAME CDATA #REQUIRED"- Parameters:
pAttribs-- Returns:
- String
- Throws:
org.xml.sax.SAXException
-
getClassName
public static java.lang.String getClassName(org.xml.sax.Attributes pAttribs) throws org.xml.sax.SAXExceptionENTITY % ClassName "CLASSNAME CDATA #REQUIRED"- Parameters:
pAttribs-- Returns:
- String
- Throws:
org.xml.sax.SAXException
-
getReferenceClass
public static java.lang.String getReferenceClass(org.xml.sax.Attributes pAttribs)
ENTITY % ReferenceClass "REFERENCECLASS CDATA #IMPLIED"- Parameters:
pAttribs-- Returns:
- String
-
getClassOrigin
public static java.lang.String getClassOrigin(org.xml.sax.Attributes pAttribs)
ENTITY % ClassOrigin "CLASSORIGIN CDATA #IMPLIED- Parameters:
pAttribs-- Returns:
- String
-
getPropagated
public static boolean getPropagated(org.xml.sax.Attributes pAttribs)
ENTITY % Propagated "PROPAGATED (true|false) 'false'" getPropagated- Parameters:
pAttribs-- Returns:
- boolean
-
getArraySize
public static int getArraySize(org.xml.sax.Attributes pAttribs) throws org.xml.sax.SAXExceptionENTITY % ArraySize "ARRAYSIZE CDATA #IMPLIED"- Parameters:
pAttribs-- Returns:
- int
- Throws:
org.xml.sax.SAXException
-
getCIMType
public static CIMDataType getCIMType(org.xml.sax.Attributes pAttribs, boolean pOptional) throws org.xml.sax.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:
org.xml.sax.SAXException
-
getCIMType
public static CIMDataType getCIMType(org.xml.sax.Attributes pAttribs) throws org.xml.sax.SAXException
getCIMType(pAttribs, pOptional=false);- Parameters:
pAttribs-- Returns:
- CIMDataType
- Throws:
org.xml.sax.SAXException
-
getParamType
public static CIMDataType getParamType(org.xml.sax.Attributes pAttribs) throws org.xml.sax.SAXException
ENTITY % ParamType "PARAMTYPE ( boolean|string|char16|uint8|sint8|uint16|sint16 |uint32|sint32|uint64|sint64|datetime| real32|real64|reference)- Parameters:
pAttribs-- Returns:
- CIMDataType
- Throws:
org.xml.sax.SAXException
-
getQualifierFlavor
public int getQualifierFlavor(org.xml.sax.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(org.xml.sax.Attributes pAttribs, java.lang.String pName)hasTrueAttribute- Parameters:
pAttribs-pName-- Returns:
- boolean
-
getBoolAttribute
public static boolean getBoolAttribute(org.xml.sax.Attributes pAttribs, java.lang.String pName, boolean pDefVal)getBoolAttribute- Parameters:
pAttribs-pName-pDefVal-- Returns:
- boolean
-
duplicatedNode
public void duplicatedNode(java.lang.String pParsedNodeName, java.lang.String pNewNodeName) throws org.xml.sax.SAXExceptionduplicatedNode- Parameters:
pParsedNodeName-pNewNodeName-- Throws:
org.xml.sax.SAXException
-
illegalChildNodePair
public void illegalChildNodePair(java.lang.String pNodeName0, java.lang.String pNodeName1) throws org.xml.sax.SAXExceptionillegalChildNodePair- Parameters:
pNodeName0-pNodeName1-- Throws:
org.xml.sax.SAXException
-
-