<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_265) on Tue Aug 25 19:30:50 UTC 2020 --> <title>DocumentImpl (MetaCat API)</title> <meta name="date" content="2020-08-25"> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="DocumentImpl (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":10,"i5":9,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":9,"i21":9,"i22":9,"i23":9,"i24":10,"i25":10,"i26":9,"i27":9,"i28":9,"i29":10,"i30":10,"i31":10,"i32":10,"i33":9,"i34":9,"i35":9,"i36":9}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/DocumentImpl.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../edu/ucsb/nceas/metacat/DocumentIdQuery.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../edu/ucsb/nceas/metacat/DocumentImplWrapper.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?edu/ucsb/nceas/metacat/DocumentImpl.html" target="_top">Frames</a></li> <li><a href="DocumentImpl.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">edu.ucsb.nceas.metacat</div> <h2 title="Class DocumentImpl" class="title">Class DocumentImpl</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.metacat.DocumentImpl</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public class <span class="typeNameLabel">DocumentImpl</span> extends java.lang.Object</pre> <div class="block">A class that represents an XML document. It can be created with a simple document identifier from a database connection. It also will write an XML text document to a database connection using SAX.</div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> <caption><span>Fields</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Field and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected <a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#connection">connection</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DECLARATIONHANDLERPROPERTY">DECLARATIONHANDLERPROPERTY</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#docid">docid</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#docname">docname</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DOCNAME">DOCNAME</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#doctype">doctype</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DOCUMENTTABLE">DOCUMENTTABLE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DTD">DTD</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EML2_0_0NAMESPACE">EML2_0_0NAMESPACE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EML2_0_1NAMESPACE">EML2_0_1NAMESPACE</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EML2_1_0NAMESPACE">EML2_1_0NAMESPACE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EML2_1_1NAMESPACE">EML2_1_1NAMESPACE</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EML200">EML200</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EML210">EML210</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EXTERNALNONAMESPACESCHEMALOCATIONPROPERTY">EXTERNALNONAMESPACESCHEMALOCATIONPROPERTY</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#EXTERNALSCHEMALOCATIONPROPERTY">EXTERNALSCHEMALOCATIONPROPERTY</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#FULLSCHEMAVALIDATIONFEATURE">FULLSCHEMAVALIDATIONFEATURE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#LEXICALPROPERTY">LEXICALPROPERTY</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#NAMESPACEFEATURE">NAMESPACEFEATURE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#NAMESPACEPREFIXESFEATURE">NAMESPACEPREFIXESFEATURE</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#NONAMESPACESCHEMA">NONAMESPACESCHEMA</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#PUBLICID">PUBLICID</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#RDF_SYNTAX_NAMESPACE">RDF_SYNTAX_NAMESPACE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#REVISIONTABLE">REVISIONTABLE</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected long</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#rootnodeid">rootnodeid</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#SCHEMA">SCHEMA</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#SCHEMAVALIDATIONFEATURE">SCHEMAVALIDATIONFEATURE</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#SYSTEMID">SYSTEMID</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#VALIDATIONFEATURE">VALIDATIONFEATURE</a></span></code> </td> </tr> </table> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DocumentImpl--">DocumentImpl</a></span>()</code> <div class="block">Default constructor</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DocumentImpl-edu.ucsb.nceas.metacat.database.DBConnection-long-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-int-java.util.Date-java.util.Date-">DocumentImpl</a></span>(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, long rootNodeId, java.lang.String docName, java.lang.String docType, java.lang.String docId, java.lang.String newRevision, java.lang.String action, java.lang.String user, java.lang.String pub, java.lang.String catalogId, int serverCode, java.util.Date createDate, java.util.Date updateDate)</code> <div class="block">Construct a new document instance, writing the contents to the database.</div> </td> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DocumentImpl-java.lang.String-">DocumentImpl</a></span>(java.lang.String docid)</code> <div class="block">Constructor, creates document from database connection, used for reading the document</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#DocumentImpl-java.lang.String-boolean-">DocumentImpl</a></span>(java.lang.String accNum, boolean readNodes)</code> <div class="block">Constructor used to create a document and read the document information from the database.</div> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#buildIndex--">buildIndex</a></span>()</code> <div class="block">Build the index records for this document.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#delete-java.lang.String-boolean-java.lang.String-java.lang.String:A-java.lang.String-boolean-">delete</a></span>(java.lang.String accnum, boolean ignoreRev, java.lang.String user, java.lang.String[] groups, java.lang.String notifyServer, boolean removeAll)</code> <div class="block">Archive an object from the xml_documents table to the xml_revision table (including other changes as well).</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#delete-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-boolean-">delete</a></span>(java.lang.String accnum, java.lang.String user, java.lang.String[] groups, java.lang.String notifyServer, boolean removeAll)</code> <div class="block">Archive an object from the xml_documents table to the xml_revision table (including other changes as well).</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>byte[]</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getBytes--">getBytes</a></span>()</code> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>java.util.Date</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getCreateDate--">getCreateDate</a></span>()</code> <div class="block">get the creation date</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>static boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getDataFileLockGrant-java.lang.String-">getDataFileLockGrant</a></span>(java.lang.String accnum)</code> <div class="block">Get a lock for a given document.</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>static boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getDataFileLockGrant-java.lang.String-int-">getDataFileLockGrant</a></span>(java.lang.String accnum, int serverCode)</code> <div class="block">The method will check if metacat can get data file lock grant If server code is 1, it get.</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getDocHomeServer--">getDocHomeServer</a></span>()</code> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getDocID--">getDocID</a></span>()</code> <div class="block">Get the document identifier (docid)</div> </td> </tr> <tr id="i9" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getDocname--">getDocname</a></span>()</code> <div class="block">get the document name</div> </td> </tr> <tr id="i10" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getDoctype--">getDoctype</a></span>()</code> <div class="block">get the document type (which is the PublicID)</div> </td> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getPublicaccess--">getPublicaccess</a></span>()</code> </td> </tr> <tr id="i12" class="altColor"> <td class="colFirst"><code>int</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getRev--">getRev</a></span>()</code> </td> </tr> <tr id="i13" class="rowColor"> <td class="colFirst"><code>long</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getRootNodeID--">getRootNodeID</a></span>()</code> <div class="block">get the root node identifier</div> </td> </tr> <tr id="i14" class="altColor"> <td class="colFirst"><code>int</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getServerlocation--">getServerlocation</a></span>()</code> </td> </tr> <tr id="i15" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getSystemID--">getSystemID</a></span>()</code> <div class="block">get the system identifier</div> </td> </tr> <tr id="i16" class="altColor"> <td class="colFirst"><code>java.util.Date</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getUpdateDate--">getUpdateDate</a></span>()</code> <div class="block">get the update date</div> </td> </tr> <tr id="i17" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getUserowner--">getUserowner</a></span>()</code> </td> </tr> <tr id="i18" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getUserupdated--">getUserupdated</a></span>()</code> </td> </tr> <tr id="i19" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#getValidateType--">getValidateType</a></span>()</code> </td> </tr> <tr id="i20" class="altColor"> <td class="colFirst"><code>static boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#hasAllPermission-java.lang.String-java.lang.String:A-java.lang.String-">hasAllPermission</a></span>(java.lang.String user, java.lang.String[] groups, java.lang.String docid)</code> <div class="block">Check for "ALL" or "CHMOD" permission on @docid for @user and/or @groups from DB connection</div> </td> </tr> <tr id="i21" class="rowColor"> <td class="colFirst"><code>static boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#hasReadPermission-java.lang.String-java.lang.String:A-java.lang.String-">hasReadPermission</a></span>(java.lang.String user, java.lang.String[] groups, java.lang.String docId)</code> <div class="block">Check for "READ" permission base on docid, user and group</div> </td> </tr> <tr id="i22" class="altColor"> <td class="colFirst"><code>static boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#hasWritePermission-java.lang.String-java.lang.String:A-java.lang.String-">hasWritePermission</a></span>(java.lang.String user, java.lang.String[] groups, java.lang.String docid)</code> <div class="block">Check for "WRITE" permission on @docid for @user and/or @groups from DB connection</div> </td> </tr> <tr id="i23" class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] args)</code> <div class="block">the main routine used to test the DBWriter utility.</div> </td> </tr> <tr id="i24" class="altColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#readFromFileSystem-java.io.OutputStream-java.lang.String-java.lang.String:A-java.lang.String-">readFromFileSystem</a></span>(java.io.OutputStream out, java.lang.String user, java.lang.String[] groups, java.lang.String documentPath)</code> <div class="block">Read the XML document from the file system and write to a Writer.</div> </td> </tr> <tr id="i25" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#readUsingSlowAlgorithm--">readUsingSlowAlgorithm</a></span>()</code> <div class="block">Get a text representation of the XML document as a string This older algorithm uses a recursive tree of Objects to represent the nodes of the tree.</div> </td> </tr> <tr id="i26" class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#registerDocument-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-">registerDocument</a></span>(java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, java.lang.String[] groupnames)</code> <div class="block">This method will be call in handleUploadRequest in MetacatServlet class</div> </td> </tr> <tr id="i27" class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#registerDocument-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-int-">registerDocument</a></span>(java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, java.lang.String[] groups, int serverCode)</code> <div class="block">Register a document that resides on the filesystem with the database.</div> </td> </tr> <tr id="i28" class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#registerDocumentInReplication-java.lang.String-java.lang.String-java.lang.String-java.lang.String-int-java.lang.String-java.util.Date-java.util.Date-">registerDocumentInReplication</a></span>(java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, int serverCode, java.lang.String tableName, java.util.Date createDate, java.util.Date updateDate)</code> <div class="block">Register a document that resides on the filesystem with the database.</div> </td> </tr> <tr id="i29" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#toString--">toString</a></span>()</code> <div class="block">Print a string representation of the XML document NOTE: this detects the character encoding, or uses the XML default</div> </td> </tr> <tr id="i30" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#toString-java.lang.String-java.lang.String:A-boolean-">toString</a></span>(java.lang.String user, java.lang.String[] groups, boolean withInlinedata)</code> <div class="block">Print a string representation of the XML document NOTE: this detects the character encoding, or uses the XML default</div> </td> </tr> <tr id="i31" class="rowColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#toXml-java.io.OutputStream-java.lang.String-java.lang.String:A-boolean-">toXml</a></span>(java.io.OutputStream out, java.lang.String user, java.lang.String[] groups, boolean withInLineData)</code> <div class="block">Print a text representation of the XML document to a Writer</div> </td> </tr> <tr id="i32" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#toXmlFromDb-java.io.OutputStream-java.lang.String-java.lang.String:A-boolean-">toXmlFromDb</a></span>(java.io.OutputStream outputStream, java.lang.String user, java.lang.String[] groups, boolean withInLineData)</code> <div class="block">Print a text representation of the XML document to a Writer</div> </td> </tr> <tr id="i33" class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#write-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-java.lang.String-java.io.Reader-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-int-boolean-java.lang.String-boolean-boolean-byte:A-java.lang.String-org.dataone.service.types.v1.Checksum-">write</a></span>(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, java.lang.String xmlString, java.lang.String pub, java.io.Reader dtd, java.lang.String action, java.lang.String accnum, java.lang.String user, java.lang.String[] groups, int serverCode, boolean override, java.lang.String ruleBase, boolean needValidation, boolean writeAccessRules, byte[] xmlBytes, java.lang.String schemaLocation, org.dataone.service.types.v1.Checksum checksum)</code> <div class="block">Write an XML file to the database, given a Reader</div> </td> </tr> <tr id="i34" class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#write-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-java.lang.String-java.io.Reader-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-boolean-boolean-byte:A-java.lang.String-org.dataone.service.types.v1.Checksum-">write</a></span>(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, java.lang.String xmlString, java.lang.String pub, java.io.Reader dtd, java.lang.String action, java.lang.String docid, java.lang.String user, java.lang.String[] groups, java.lang.String ruleBase, boolean needValidation, boolean writeAccessRules, byte[] xmlBytes, java.lang.String schemaLocation, org.dataone.service.types.v1.Checksum checksum)</code> <div class="block">Write an XML file to the database, given a filename</div> </td> </tr> <tr id="i35" class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#writeDataFileInReplication-java.io.InputStream-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-boolean-java.util.Date-java.util.Date-">writeDataFileInReplication</a></span>(java.io.InputStream input, java.lang.String filePath, java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, java.lang.String docHomeServer, java.lang.String notificationServer, java.lang.String tableName, boolean timedReplication, java.util.Date createDate, java.util.Date updateDate)</code> <div class="block">This method will register a data file entry in xml_documents and save a data file input Stream into file system..</div> </td> </tr> <tr id="i36" class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DocumentImpl.html#writeReplication-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-byte:A-java.lang.String-java.io.Reader-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-java.lang.String-java.lang.String-boolean-java.lang.String-boolean-java.util.Date-java.util.Date-java.lang.String-">writeReplication</a></span>(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, java.lang.String xmlString, byte[] xmlBytes, java.lang.String pub, java.io.Reader dtd, java.lang.String action, java.lang.String accnum, java.lang.String user, java.lang.String[] groups, java.lang.String homeServer, java.lang.String notifyServer, java.lang.String ruleBase, boolean needValidation, java.lang.String tableName, boolean timedReplication, java.util.Date createDate, java.util.Date updateDate, java.lang.String schemaLocation)</code> <div class="block">Write an XML file to the database during replication</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ FIELD DETAIL =========== --> <ul class="blockList"> <li class="blockList"><a name="field.detail"> <!-- --> </a> <h3>Field Detail</h3> <a name="SCHEMA"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>SCHEMA</h4> <pre>public static final java.lang.String SCHEMA</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.SCHEMA">Constant Field Values</a></dd> </dl> </li> </ul> <a name="NONAMESPACESCHEMA"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>NONAMESPACESCHEMA</h4> <pre>public static final java.lang.String NONAMESPACESCHEMA</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.NONAMESPACESCHEMA">Constant Field Values</a></dd> </dl> </li> </ul> <a name="DTD"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DTD</h4> <pre>public static final java.lang.String DTD</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.DTD">Constant Field Values</a></dd> </dl> </li> </ul> <a name="EML200"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EML200</h4> <pre>public static final java.lang.String EML200</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.EML200">Constant Field Values</a></dd> </dl> </li> </ul> <a name="EML210"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EML210</h4> <pre>public static final java.lang.String EML210</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.EML210">Constant Field Values</a></dd> </dl> </li> </ul> <a name="EXTERNALSCHEMALOCATIONPROPERTY"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EXTERNALSCHEMALOCATIONPROPERTY</h4> <pre>public static final java.lang.String EXTERNALSCHEMALOCATIONPROPERTY</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.EXTERNALSCHEMALOCATIONPROPERTY">Constant Field Values</a></dd> </dl> </li> </ul> <a name="EXTERNALNONAMESPACESCHEMALOCATIONPROPERTY"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EXTERNALNONAMESPACESCHEMALOCATIONPROPERTY</h4> <pre>public static final java.lang.String EXTERNALNONAMESPACESCHEMALOCATIONPROPERTY</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.EXTERNALNONAMESPACESCHEMALOCATIONPROPERTY">Constant Field Values</a></dd> </dl> </li> </ul> <a name="REVISIONTABLE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>REVISIONTABLE</h4> <pre>public static final java.lang.String REVISIONTABLE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.REVISIONTABLE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="DOCUMENTTABLE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DOCUMENTTABLE</h4> <pre>public static final java.lang.String DOCUMENTTABLE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.DOCUMENTTABLE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="DECLARATIONHANDLERPROPERTY"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DECLARATIONHANDLERPROPERTY</h4> <pre>public static final java.lang.String DECLARATIONHANDLERPROPERTY</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.DECLARATIONHANDLERPROPERTY">Constant Field Values</a></dd> </dl> </li> </ul> <a name="LEXICALPROPERTY"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>LEXICALPROPERTY</h4> <pre>public static final java.lang.String LEXICALPROPERTY</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.LEXICALPROPERTY">Constant Field Values</a></dd> </dl> </li> </ul> <a name="VALIDATIONFEATURE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>VALIDATIONFEATURE</h4> <pre>public static final java.lang.String VALIDATIONFEATURE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.VALIDATIONFEATURE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="SCHEMAVALIDATIONFEATURE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>SCHEMAVALIDATIONFEATURE</h4> <pre>public static final java.lang.String SCHEMAVALIDATIONFEATURE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.SCHEMAVALIDATIONFEATURE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="FULLSCHEMAVALIDATIONFEATURE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>FULLSCHEMAVALIDATIONFEATURE</h4> <pre>public static final java.lang.String FULLSCHEMAVALIDATIONFEATURE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.FULLSCHEMAVALIDATIONFEATURE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="NAMESPACEFEATURE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>NAMESPACEFEATURE</h4> <pre>public static final java.lang.String NAMESPACEFEATURE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.NAMESPACEFEATURE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="NAMESPACEPREFIXESFEATURE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>NAMESPACEPREFIXESFEATURE</h4> <pre>public static final java.lang.String NAMESPACEPREFIXESFEATURE</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.NAMESPACEPREFIXESFEATURE">Constant Field Values</a></dd> </dl> </li> </ul> <a name="EML2_0_0NAMESPACE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EML2_0_0NAMESPACE</h4> <pre>public static final java.lang.String EML2_0_0NAMESPACE</pre> </li> </ul> <a name="EML2_0_1NAMESPACE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EML2_0_1NAMESPACE</h4> <pre>public static final java.lang.String EML2_0_1NAMESPACE</pre> </li> </ul> <a name="EML2_1_0NAMESPACE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EML2_1_0NAMESPACE</h4> <pre>public static final java.lang.String EML2_1_0NAMESPACE</pre> </li> </ul> <a name="EML2_1_1NAMESPACE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>EML2_1_1NAMESPACE</h4> <pre>public static final java.lang.String EML2_1_1NAMESPACE</pre> </li> </ul> <a name="RDF_SYNTAX_NAMESPACE"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>RDF_SYNTAX_NAMESPACE</h4> <pre>public static final java.lang.String RDF_SYNTAX_NAMESPACE</pre> </li> </ul> <a name="DOCNAME"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DOCNAME</h4> <pre>public static final java.lang.String DOCNAME</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.DOCNAME">Constant Field Values</a></dd> </dl> </li> </ul> <a name="PUBLICID"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>PUBLICID</h4> <pre>public static final java.lang.String PUBLICID</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.PUBLICID">Constant Field Values</a></dd> </dl> </li> </ul> <a name="SYSTEMID"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>SYSTEMID</h4> <pre>public static final java.lang.String SYSTEMID</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.DocumentImpl.SYSTEMID">Constant Field Values</a></dd> </dl> </li> </ul> <a name="connection"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>connection</h4> <pre>protected <a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> connection</pre> </li> </ul> <a name="docname"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>docname</h4> <pre>protected java.lang.String docname</pre> </li> </ul> <a name="doctype"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>doctype</h4> <pre>protected java.lang.String doctype</pre> </li> </ul> <a name="docid"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>docid</h4> <pre>protected java.lang.String docid</pre> </li> </ul> <a name="rootnodeid"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>rootnodeid</h4> <pre>protected long rootnodeid</pre> </li> </ul> </li> </ul> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="DocumentImpl--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DocumentImpl</h4> <pre>public DocumentImpl()</pre> <div class="block">Default constructor</div> </li> </ul> <a name="DocumentImpl-java.lang.String-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DocumentImpl</h4> <pre>public DocumentImpl(java.lang.String accNum, boolean readNodes) throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Constructor used to create a document and read the document information from the database. If readNodes is false, then the node data is not read at this time, but is deferred until it is needed (such as when a call to toXml() is made).</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the database connection from which to read the document</dd> <dd><code>docid</code> - the identifier of the document to be created, it should be with revision</dd> <dd><code>readNodes</code> - flag indicating whether the xmlnodes should be read</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> </dl> </li> </ul> <a name="DocumentImpl-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>DocumentImpl</h4> <pre>public DocumentImpl(java.lang.String docid) throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Constructor, creates document from database connection, used for reading the document</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the database connection from which to read the document</dd> <dd><code>docid</code> - the identifier of the document to be created</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> </dl> </li> </ul> <a name="DocumentImpl-edu.ucsb.nceas.metacat.database.DBConnection-long-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-int-java.util.Date-java.util.Date-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>DocumentImpl</h4> <pre>public DocumentImpl(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, long rootNodeId, java.lang.String docName, java.lang.String docType, java.lang.String docId, java.lang.String newRevision, java.lang.String action, java.lang.String user, java.lang.String pub, java.lang.String catalogId, int serverCode, java.util.Date createDate, java.util.Date updateDate) throws java.sql.SQLException, java.lang.Exception</pre> <div class="block">Construct a new document instance, writing the contents to the database. This method is called from DBSAXHandler because we need to know the root element name for documents without a DOCTYPE before creating it. In this constructor, the docid is without rev. There is a string rev to specify the revision user want to upadate. The revion is only need to be greater than current one. It is not need to be sequent number just after current one. So it is only used in update action</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the JDBC Connection to which all information is written</dd> <dd><code>rootnodeid</code> - - sequence id of the root node in the document</dd> <dd><code>docname</code> - - the name of DTD, i.e. the name immediately following the DOCTYPE keyword ( should be the root element name ) or the root element name if no DOCTYPE declaration provided (Oracle's and IBM parsers are not aware if it is not the root element name)</dd> <dd><code>doctype</code> - - Public ID of the DTD, i.e. the name immediately following the PUBLIC keyword in DOCTYPE declaration or the docname if no Public ID provided or null if no DOCTYPE declaration provided</dd> <dd><code>docid</code> - the docid to use for the UPDATE, no version number</dd> <dd><code>version,</code> - need to be update</dd> <dd><code>action</code> - the action to be performed (INSERT OR UPDATE)</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>pub</code> - flag for public "read" access on document</dd> <dd><code>serverCode</code> - the serverid from xml_replication on which this document resides.</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="registerDocument-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>registerDocument</h4> <pre>public static void registerDocument(java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, java.lang.String[] groupnames) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a>, java.lang.Exception</pre> <div class="block">This method will be call in handleUploadRequest in MetacatServlet class</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a></code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="registerDocument-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-int-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>registerDocument</h4> <pre>public static void registerDocument(java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, java.lang.String[] groups, int serverCode) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a>, java.lang.Exception</pre> <div class="block">Register a document that resides on the filesystem with the database. (ie, just an entry in xml_documents, nothing in xml_nodes). Creates a reference to a filesystem document (used for non-xml data files). This class only be called in MetaCatServerlet.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the JDBC Connection to which all information is written</dd> <dd><code>docname</code> - - the name of DTD, i.e. the name immediately following the DOCTYPE keyword ( should be the root element name ) or the root element name if no DOCTYPE declaration provided (Oracle's and IBM parsers are not aware if it is not the root element name)</dd> <dd><code>doctype</code> - - Public ID of the DTD, i.e. the name immediately following the PUBLIC keyword in DOCTYPE declaration or the docname if no Public ID provided or null if no DOCTYPE declaration provided</dd> <dd><code>accnum</code> - the accession number to use for the INSERT OR UPDATE, which includes a revision number for this revision of the document (e.g., knb.1.1)</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>groupnames</code> - the groups that owns the document</dd> <dd><code>serverCode</code> - the serverid from xml_replication on which this document resides.</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a></code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="registerDocumentInReplication-java.lang.String-java.lang.String-java.lang.String-java.lang.String-int-java.lang.String-java.util.Date-java.util.Date-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>registerDocumentInReplication</h4> <pre>public static void registerDocumentInReplication(java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, int serverCode, java.lang.String tableName, java.util.Date createDate, java.util.Date updateDate) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a>, java.lang.Exception</pre> <div class="block">Register a document that resides on the filesystem with the database. (ie, just an entry in xml_documents, nothing in xml_nodes). Creates a reference to a filesystem document (used for non-xml data files) This method will be called for register data file in xml_documents in Replication. This method is revised from registerDocument.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the JDBC Connection to which all information is written</dd> <dd><code>docname</code> - - the name of DTD, i.e. the name immediately following the DOCTYPE keyword ( should be the root element name ) or the root element name if no DOCTYPE declaration provided (Oracle's and IBM parsers are not aware if it is not the root element name)</dd> <dd><code>doctype</code> - - Public ID of the DTD, i.e. the name immediately following the PUBLIC keyword in DOCTYPE declaration or the docname if no Public ID provided or null if no DOCTYPE declaration provided</dd> <dd><code>accnum</code> - the accession number to use for the INSERT OR UPDATE, which includes a revision number for this revision of the document (e.g., knb.1.1)</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>serverCode</code> - the serverid from xml_replication on which this document resides.</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a></code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="writeDataFileInReplication-java.io.InputStream-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-boolean-java.util.Date-java.util.Date-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>writeDataFileInReplication</h4> <pre>public static void writeDataFileInReplication(java.io.InputStream input, java.lang.String filePath, java.lang.String docname, java.lang.String doctype, java.lang.String accnum, java.lang.String user, java.lang.String docHomeServer, java.lang.String notificationServer, java.lang.String tableName, boolean timedReplication, java.util.Date createDate, java.util.Date updateDate) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a>, java.lang.Exception</pre> <div class="block">This method will register a data file entry in xml_documents and save a data file input Stream into file system.. It is only used in replication</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>input,</code> - the input stream which contain the file content.</dd> <dd><code>,</code> - the input stream which contain the file content</dd> <dd><code>docname</code> - - the name of DTD, for data file, it is a docid number.</dd> <dd><code>doctype</code> - - "BIN" for data file</dd> <dd><code>accnum</code> - the accession number to use for the INSERT OR UPDATE, which includes a revision number for this revision of the document (e.g., knb.1.1)</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>docHomeServer,</code> - the home server of the docid</dd> <dd><code>notificationServer,</code> - the server to notify force replication info to local metacat</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/AccessionNumberException.html" title="class in edu.ucsb.nceas.metacat">AccessionNumberException</a></code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="getDataFileLockGrant-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDataFileLockGrant</h4> <pre>public static boolean getDataFileLockGrant(java.lang.String accnum) throws java.lang.Exception</pre> <div class="block">Get a lock for a given document.</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="getDataFileLockGrant-java.lang.String-int-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDataFileLockGrant</h4> <pre>public static boolean getDataFileLockGrant(java.lang.String accnum, int serverCode) throws java.lang.Exception</pre> <div class="block">The method will check if metacat can get data file lock grant If server code is 1, it get. If server code is not 1 but call replication getlock successfully, it get else, it didn't get</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>accnum,</code> - the ID of the document</dd> <dd><code>action,</code> - the action to the document</dd> <dd><code>serverCode,</code> - the server location code</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="getDocname--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDocname</h4> <pre>public java.lang.String getDocname()</pre> <div class="block">get the document name</div> </li> </ul> <a name="getDoctype--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDoctype</h4> <pre>public java.lang.String getDoctype()</pre> <div class="block">get the document type (which is the PublicID)</div> </li> </ul> <a name="getSystemID--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getSystemID</h4> <pre>public java.lang.String getSystemID()</pre> <div class="block">get the system identifier</div> </li> </ul> <a name="getRootNodeID--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getRootNodeID</h4> <pre>public long getRootNodeID()</pre> <div class="block">get the root node identifier</div> </li> </ul> <a name="getCreateDate--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getCreateDate</h4> <pre>public java.util.Date getCreateDate()</pre> <div class="block">get the creation date</div> </li> </ul> <a name="getUpdateDate--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUpdateDate</h4> <pre>public java.util.Date getUpdateDate()</pre> <div class="block">get the update date</div> </li> </ul> <a name="getDocID--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDocID</h4> <pre>public java.lang.String getDocID()</pre> <div class="block">Get the document identifier (docid)</div> </li> </ul> <a name="getUserowner--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUserowner</h4> <pre>public java.lang.String getUserowner()</pre> </li> </ul> <a name="getUserupdated--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUserupdated</h4> <pre>public java.lang.String getUserupdated()</pre> </li> </ul> <a name="getServerlocation--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getServerlocation</h4> <pre>public int getServerlocation()</pre> </li> </ul> <a name="getDocHomeServer--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDocHomeServer</h4> <pre>public java.lang.String getDocHomeServer()</pre> </li> </ul> <a name="getPublicaccess--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPublicaccess</h4> <pre>public java.lang.String getPublicaccess()</pre> </li> </ul> <a name="getRev--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getRev</h4> <pre>public int getRev()</pre> </li> </ul> <a name="getValidateType--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getValidateType</h4> <pre>public java.lang.String getValidateType()</pre> </li> </ul> <a name="toString-java.lang.String-java.lang.String:A-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>toString</h4> <pre>public java.lang.String toString(java.lang.String user, java.lang.String[] groups, boolean withInlinedata)</pre> <div class="block">Print a string representation of the XML document NOTE: this detects the character encoding, or uses the XML default</div> </li> </ul> <a name="toString--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>toString</h4> <pre>public java.lang.String toString()</pre> <div class="block">Print a string representation of the XML document NOTE: this detects the character encoding, or uses the XML default</div> <dl> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code>toString</code> in class <code>java.lang.Object</code></dd> </dl> </li> </ul> <a name="getBytes--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getBytes</h4> <pre>public byte[] getBytes()</pre> </li> </ul> <a name="readUsingSlowAlgorithm--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>readUsingSlowAlgorithm</h4> <pre>public java.lang.String readUsingSlowAlgorithm() throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Get a text representation of the XML document as a string This older algorithm uses a recursive tree of Objects to represent the nodes of the tree. Each object is passed the data for the document and searches all of the document data to find its children nodes and recursively build. Thus, because each node reads the whole document, this algorithm is extremely slow for larger documents, and the time to completion is O(N^N) wrt the number of nodes. See toXml() for a better algorithm.</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> </dl> </li> </ul> <a name="toXml-java.io.OutputStream-java.lang.String-java.lang.String:A-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>toXml</h4> <pre>public java.io.InputStream toXml(java.io.OutputStream out, java.lang.String user, java.lang.String[] groups, boolean withInLineData) throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Print a text representation of the XML document to a Writer</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>pw</code> - the Writer to which we print the document Now we decide no matter withinInlineData's value, the document will</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> </dl> </li> </ul> <a name="toXmlFromDb-java.io.OutputStream-java.lang.String-java.lang.String:A-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>toXmlFromDb</h4> <pre>public void toXmlFromDb(java.io.OutputStream outputStream, java.lang.String user, java.lang.String[] groups, boolean withInLineData) throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a>, java.io.IOException</pre> <div class="block">Print a text representation of the XML document to a Writer</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>pw</code> - the Writer to which we print the document Now we decide no matter withinInlineData's value, the document will</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> <dd><code>java.io.IOException</code></dd> </dl> </li> </ul> <a name="readFromFileSystem-java.io.OutputStream-java.lang.String-java.lang.String:A-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>readFromFileSystem</h4> <pre>public java.io.InputStream readFromFileSystem(java.io.OutputStream out, java.lang.String user, java.lang.String[] groups, java.lang.String documentPath) throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Read the XML document from the file system and write to a Writer. Strip out any inline data that the user does not have permission to read.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>pw</code> - the Writer to which we print the document</dd> <dd><code>user</code> - the user we will use to verify inline data access</dd> <dd><code>groups</code> - the groups we will use to verify inline data access</dd> <dd><code>documentPath</code> - the location of the document on disk</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> </dl> </li> </ul> <a name="buildIndex--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>buildIndex</h4> <pre>public void buildIndex() throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Build the index records for this document. For each node, all absolute and relative paths to the root of the document are created and inserted into the xml_index table. This requires that the DocumentImpl instance exists, so first call the constructor that reads the document from the database.</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code> - on error getting the node records for the document</dd> </dl> </li> </ul> <a name="write-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-java.lang.String-java.io.Reader-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-boolean-boolean-byte:A-java.lang.String-org.dataone.service.types.v1.Checksum-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>write</h4> <pre>public static java.lang.String write(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, java.lang.String xmlString, java.lang.String pub, java.io.Reader dtd, java.lang.String action, java.lang.String docid, java.lang.String user, java.lang.String[] groups, java.lang.String ruleBase, boolean needValidation, boolean writeAccessRules, byte[] xmlBytes, java.lang.String schemaLocation, org.dataone.service.types.v1.Checksum checksum) throws java.lang.Exception</pre> <div class="block">Write an XML file to the database, given a filename</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the JDBC connection to the database</dd> <dd><code>filename</code> - the filename to be loaded into the database</dd> <dd><code>pub</code> - flag for public "read" access on document</dd> <dd><code>dtdfilename</code> - the dtd to be uploaded on server's file system</dd> <dd><code>action</code> - the action to be performed (INSERT OR UPDATE)</dd> <dd><code>docid</code> - the docid to use for the INSERT OR UPDATE</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>groups</code> - the groups to which user belongs</dd> <dd><code>writeAccessRules</code> - </dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="write-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-java.lang.String-java.io.Reader-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-int-boolean-java.lang.String-boolean-boolean-byte:A-java.lang.String-org.dataone.service.types.v1.Checksum-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>write</h4> <pre>public static java.lang.String write(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, java.lang.String xmlString, java.lang.String pub, java.io.Reader dtd, java.lang.String action, java.lang.String accnum, java.lang.String user, java.lang.String[] groups, int serverCode, boolean override, java.lang.String ruleBase, boolean needValidation, boolean writeAccessRules, byte[] xmlBytes, java.lang.String schemaLocation, org.dataone.service.types.v1.Checksum checksum) throws java.lang.Exception</pre> <div class="block">Write an XML file to the database, given a Reader</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the JDBC connection to the database</dd> <dd><code>xml</code> - the xml stream to be loaded into the database</dd> <dd><code>pub</code> - flag for public "read" access on xml document</dd> <dd><code>dtd</code> - the dtd to be uploaded on server's file system</dd> <dd><code>action</code> - the action to be performed (INSERT or UPDATE)</dd> <dd><code>accnum</code> - the docid + rev# to use on INSERT or UPDATE</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>groups</code> - the groups to which user belongs</dd> <dd><code>serverCode</code> - the serverid from xml_replication on which this document resides.</dd> <dd><code>override</code> - flag to stop insert replication checking. if override = true then a document not belonging to the local server will not be checked upon update for a file lock. if override = false then a document not from this server, upon update will be locked and version checked.</dd> <dd><code>writeAccessRules</code> - </dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="writeReplication-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-byte:A-java.lang.String-java.io.Reader-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-java.lang.String-java.lang.String-boolean-java.lang.String-boolean-java.util.Date-java.util.Date-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>writeReplication</h4> <pre>public static java.lang.String writeReplication(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a> conn, java.lang.String xmlString, byte[] xmlBytes, java.lang.String pub, java.io.Reader dtd, java.lang.String action, java.lang.String accnum, java.lang.String user, java.lang.String[] groups, java.lang.String homeServer, java.lang.String notifyServer, java.lang.String ruleBase, boolean needValidation, java.lang.String tableName, boolean timedReplication, java.util.Date createDate, java.util.Date updateDate, java.lang.String schemaLocation) throws java.lang.Exception</pre> <div class="block">Write an XML file to the database during replication</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the JDBC connection to the database</dd> <dd><code>xml</code> - the xml stream to be loaded into the database</dd> <dd><code>pub</code> - flag for public "read" access on xml document</dd> <dd><code>dtd</code> - the dtd to be uploaded on server's file system</dd> <dd><code>action</code> - the action to be performed (INSERT or UPDATE)</dd> <dd><code>accnum</code> - the docid + rev# to use on INSERT or UPDATE</dd> <dd><code>user</code> - the user that owns the document</dd> <dd><code>groups</code> - the groups to which user belongs</dd> <dd><code>homeServer</code> - the name of server which the document origanlly create</dd> <dd><code>validate,</code> - if the xml document is valid or not</dd> <dd><code>notifyServer,</code> - the server which notify local server the force replication command</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="delete-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>delete</h4> <pre>public static void delete(java.lang.String accnum, java.lang.String user, java.lang.String[] groups, java.lang.String notifyServer, boolean removeAll) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/client/InsufficientKarmaException.html" title="class in edu.ucsb.nceas.metacat.client">InsufficientKarmaException</a>, <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a>, java.lang.Exception</pre> <div class="block">Archive an object from the xml_documents table to the xml_revision table (including other changes as well). Or delete an object totally from the db. The parameter "removeAll" decides which action will be taken.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>accnum</code> - the local id (including the rev) will be applied.</dd> <dd><code>user</code> - the subject who does the action.</dd> <dd><code>groups</code> - the groups which the user belongs to.</dd> <dd><code>notifyServer</code> - the server will be notified in the replication. It can be null.</dd> <dd><code>removeAll</code> - it will be the delete action if this is true; otherwise it will be the archive action</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/client/InsufficientKarmaException.html" title="class in edu.ucsb.nceas.metacat.client">InsufficientKarmaException</a></code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="delete-java.lang.String-boolean-java.lang.String-java.lang.String:A-java.lang.String-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>delete</h4> <pre>public static void delete(java.lang.String accnum, boolean ignoreRev, java.lang.String user, java.lang.String[] groups, java.lang.String notifyServer, boolean removeAll) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/client/InsufficientKarmaException.html" title="class in edu.ucsb.nceas.metacat.client">InsufficientKarmaException</a>, <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a>, java.lang.Exception</pre> <div class="block">Archive an object from the xml_documents table to the xml_revision table (including other changes as well). Or delete an object totally from the db. The parameter "removeAll" decides which action will be taken.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>accnum</code> - the local id (including the rev) will be applied.</dd> <dd><code>ignoreRev</code> - if the archive action should only match docid and ignore the rev</dd> <dd><code>user</code> - the subject who does the action.</dd> <dd><code>groups</code> - the groups which the user belongs to.</dd> <dd><code>notifyServer</code> - the server will be notified in the replication. It can be null.</dd> <dd><code>removeAll</code> - it will be the delete action if this is true; otherwise it will be the archive action.</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/client/InsufficientKarmaException.html" title="class in edu.ucsb.nceas.metacat.client">InsufficientKarmaException</a></code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="hasWritePermission-java.lang.String-java.lang.String:A-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>hasWritePermission</h4> <pre>public static boolean hasWritePermission(java.lang.String user, java.lang.String[] groups, java.lang.String docid) throws java.sql.SQLException, java.lang.Exception</pre> <div class="block">Check for "WRITE" permission on @docid for @user and/or @groups from DB connection</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="hasReadPermission-java.lang.String-java.lang.String:A-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>hasReadPermission</h4> <pre>public static boolean hasReadPermission(java.lang.String user, java.lang.String[] groups, java.lang.String docId) throws java.sql.SQLException, <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre> <div class="block">Check for "READ" permission base on docid, user and group</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>docid,</code> - the document</dd> <dd><code>user,</code> - user name</dd> <dd><code>groups,</code> - user's group</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd> </dl> </li> </ul> <a name="hasAllPermission-java.lang.String-java.lang.String:A-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>hasAllPermission</h4> <pre>public static boolean hasAllPermission(java.lang.String user, java.lang.String[] groups, java.lang.String docid) throws java.sql.SQLException, java.lang.Exception</pre> <div class="block">Check for "ALL" or "CHMOD" permission on @docid for @user and/or @groups from DB connection</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code></dd> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="main-java.lang.String:A-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>main</h4> <pre>public static void main(java.lang.String[] args)</pre> <div class="block">the main routine used to test the DBWriter utility. <p> Usage: java DocumentImpl <-f filename -a action -d docid></div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>filename</code> - the filename to be loaded into the database</dd> <dd><code>action</code> - the action to perform (READ, INSERT, UPDATE, DELETE)</dd> <dd><code>docid</code> - the id of the document to process</dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/DocumentImpl.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../edu/ucsb/nceas/metacat/DocumentIdQuery.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../edu/ucsb/nceas/metacat/DocumentImplWrapper.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?edu/ucsb/nceas/metacat/DocumentImpl.html" target="_top">Frames</a></li> <li><a href="DocumentImpl.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><i>Copyright © 2020 Regents of the University of California. All Rights Reserved.</i></small></p> </body> </html>