edu.ucsb.nceas.metacat

## Class DBSAXNode

- java.lang.Object
- - edu.ucsb.nceas.metacat.BasicNode
  - - edu.ucsb.nceas.metacat.DBSAXNode

-     public class DBSAXNode
      extends BasicNode

  A Class that represents an XML node and its contents and can write its own representation to a database connection

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DBSAXNode(DBConnection conn, java.lang.String docid)` Construct a new node instance for DOCUMENT nodes
    `DBSAXNode(DBConnection conn, java.lang.String qName, java.lang.String lName, DBSAXNode parentNode, long rootnodeid, java.lang.String docid, java.lang.String doctype)` Construct a new node instance for ELEMENT nodes
    `DBSAXNode(DBConnection conn, java.lang.String docName, java.lang.String publicId, java.lang.String systemId, DBSAXNode parentNode, long rootnodeid, java.lang.String docid)` Construct a new node instance for DTD nodes This Node will write docname, publicId and systemId into db.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `DBSAXNode` | `getParentNode()` get the parent of this node
    `long` | `setAttribute(java.lang.String attName, java.lang.String attValue, java.lang.String docid)` Add a new attribute to this node, or set its value
    `long` | `setNamespace(java.lang.String prefix, java.lang.String uri, java.lang.String docid)` Add a namespace to this node
    `void` | `updateNodeIndex(DBConnection conn, java.lang.String docid, java.lang.String doctype)` USED FROM SEPARATE THREAD RUNNED from DBSAXHandler on endDocument() Update the node index (xml_index) for this node by generating test strings that represent all of the relative and absolute paths through the XML tree from document root to this node
    `void` | `updateRootNodeID(long nodeid)` update rootnodeid=nodeid for 'DOCUMENT' type of nodes only
    `long` | `writeChildNodeToDB(java.lang.String nodetype, java.lang.String nodename, java.lang.String data, java.lang.String docid)` creates SQL code and inserts new node into DB connection
    `long` | `writeChildNodeToDBDataLimited(java.lang.String nodetype, java.lang.String nodename, java.lang.String data, java.lang.String docid)` creates SQL code and inserts new node into DB connection
    `long` | `writeDTDNodeToDB(java.lang.String nodename, java.lang.String data, java.lang.String docid)` creates SQL code and inserts new node into DB connection
    `void` | `writeNodename(java.lang.String nodename)` creates SQL code to put nodename for the document node into DB connection

    - ### Methods inherited from class edu.ucsb.nceas.metacat.BasicNode

      `addChildNode, getAttribute, getAttributes, getChildren, getDocID, getNamespace, getNodeID, getNodeIndex, getNodeType, getParentID, getRootNodeID, getTagName, incChildNum, setAttribute, setDocID, setNamespace, setNodeID, setNodeIndex, setNodeType, setParentID, setRootNodeID, setTagName`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DBSAXNode

          public DBSAXNode(DBConnection conn,
                           java.lang.String docid)
                    throws org.xml.sax.SAXException

      Construct a new node instance for DOCUMENT nodes
      Parameters:
        `conn` - the JDBC Connection to which all information is written
      Throws:
        `org.xml.sax.SAXException`

    - #### DBSAXNode

          public DBSAXNode(DBConnection conn,
                           java.lang.String qName,
                           java.lang.String lName,
                           DBSAXNode parentNode,
                           long rootnodeid,
                           java.lang.String docid,
                           java.lang.String doctype)
                    throws org.xml.sax.SAXException

      Construct a new node instance for ELEMENT nodes
      Parameters:
        `conn` - the JDBC Connection to which all information is written
        `tagname` - the name of the node
        `parentNode` - the parent node for this node being created
      Throws:
        `org.xml.sax.SAXException`

    - #### DBSAXNode

          public DBSAXNode(DBConnection conn,
                           java.lang.String docName,
                           java.lang.String publicId,
                           java.lang.String systemId,
                           DBSAXNode parentNode,
                           long rootnodeid,
                           java.lang.String docid)
                    throws org.xml.sax.SAXException

      Construct a new node instance for DTD nodes This Node will write docname, publicId and systemId into db. Only handle systemid existed.(external dtd)
      Parameters:
        `conn` - the JDBC Connection to which all information is written
        `tagname` - the name of the node
        `parentNode` - the parent node for this node being created
      Throws:
        `org.xml.sax.SAXException`

  - ### Method Detail

    - #### writeChildNodeToDB

          public long writeChildNodeToDB(java.lang.String nodetype,
                                         java.lang.String nodename,
                                         java.lang.String data,
                                         java.lang.String docid)
                                  throws org.xml.sax.SAXException

      creates SQL code and inserts new node into DB connection
      Throws:
        `org.xml.sax.SAXException`

    - #### writeChildNodeToDBDataLimited

          public long writeChildNodeToDBDataLimited(java.lang.String nodetype,
                                                    java.lang.String nodename,
                                                    java.lang.String data,
                                                    java.lang.String docid)
                                             throws org.xml.sax.SAXException

      creates SQL code and inserts new node into DB connection
      Throws:
        `org.xml.sax.SAXException`

    - #### updateRootNodeID

          public void updateRootNodeID(long nodeid)
                                throws org.xml.sax.SAXException

      update rootnodeid=nodeid for 'DOCUMENT' type of nodes only
      Throws:
        `org.xml.sax.SAXException`

    - #### writeNodename

          public void writeNodename(java.lang.String nodename)
                             throws org.xml.sax.SAXException

      creates SQL code to put nodename for the document node into DB connection
      Throws:
        `org.xml.sax.SAXException`

    - #### writeDTDNodeToDB

          public long writeDTDNodeToDB(java.lang.String nodename,
                                       java.lang.String data,
                                       java.lang.String docid)
                                throws org.xml.sax.SAXException

      creates SQL code and inserts new node into DB connection
      Throws:
        `org.xml.sax.SAXException`

    - #### setAttribute

          public long setAttribute(java.lang.String attName,
                                   java.lang.String attValue,
                                   java.lang.String docid)
                            throws org.xml.sax.SAXException

      Add a new attribute to this node, or set its value
      Throws:
        `org.xml.sax.SAXException`

    - #### setNamespace

          public long setNamespace(java.lang.String prefix,
                                   java.lang.String uri,
                                   java.lang.String docid)
                            throws org.xml.sax.SAXException

      Add a namespace to this node
      Throws:
        `org.xml.sax.SAXException`

    - #### updateNodeIndex

          public void updateNodeIndex(DBConnection conn,
                                      java.lang.String docid,
                                      java.lang.String doctype)
                               throws org.xml.sax.SAXException

      USED FROM SEPARATE THREAD RUNNED from DBSAXHandler on endDocument() Update the node index (xml_index) for this node by generating test strings that represent all of the relative and absolute paths through the XML tree from document root to this node
      Throws:
        `org.xml.sax.SAXException`

    - #### getParentNode

          public DBSAXNode getParentNode()

      get the parent of this node

Copyright © 2023 Regents of the University of California. All Rights Reserved.