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 Object implements NodeConstIf
Class Node is the abstract base class of all parseable XML elements. It contains helper functions for the implementations.
  • Constructor Details

    • 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 Details

    • 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