<!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:51 UTC 2020 -->
<title>CNodeService (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="CNodeService (MetaCat API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
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/CNodeService.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>Prev&nbsp;Class</li>
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1AuthHelper.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/dataone/CNodeService.html" target="_top">Frames</a></li>
<li><a href="CNodeService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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.dataone</div>
<h2 title="Class CNodeService" class="title">Class CNodeService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">edu.ucsb.nceas.metacat.dataone.D1NodeService</a></li>
<li>
<ul class="inheritance">
<li>edu.ucsb.nceas.metacat.dataone.CNodeService</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>org.dataone.service.cn.v2.CNAuthorization, org.dataone.service.cn.v2.CNCore, org.dataone.service.cn.v2.CNRead, org.dataone.service.cn.v2.CNReplication, org.dataone.service.cn.v2.CNView</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">CNodeService</span>
extends <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a>
implements org.dataone.service.cn.v2.CNAuthorization, org.dataone.service.cn.v2.CNCore, org.dataone.service.cn.v2.CNRead, org.dataone.service.cn.v2.CNReplication, org.dataone.service.cn.v2.CNView</pre>
<div class="block">Represents Metacat's implementation of the DataONE Coordinating Node 
 service API. Methods implement the various CN* interfaces, and methods common
 to both Member Node and Coordinating Node interfaces are found in the
 D1NodeService super class.</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">&nbsp;</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>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#V2V1MISSMATCH">V2V1MISSMATCH</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.metacat.dataone.D1NodeService">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;edu.ucsb.nceas.metacat.dataone.<a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></h3>
<code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#DELETEDMESSAGE">DELETEDMESSAGE</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#handler">handler</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#MAXIMUM_DB_RECORD_COUNT">MAXIMUM_DB_RECORD_COUNT</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#request">request</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#session2">session2</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.dataone.service.cn.v2.CNCore">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.dataone.service.cn.v2.CNCore</h3>
<code>SERVICE_VERSION</code></li>
</ul>
</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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>org.dataone.service.types.v1.ObjectFormatIdentifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#addFormat-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v2.ObjectFormat-">addFormat</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
         org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;formatId,
         org.dataone.service.types.v2.ObjectFormat&nbsp;format)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#archive-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">archive</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
       org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Archives an object from the Coordinating Node</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-">create</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
      org.dataone.service.types.v1.Identifier&nbsp;pid,
      java.io.InputStream&nbsp;object,
      org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)</code>
<div class="block">Adds a new object to the Node, where the object is a science metadata object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#delete-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">delete</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
      org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Deletes an object from the Coordinating Node</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#deleteReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-long-">deleteReplicationMetadata</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                         org.dataone.service.types.v1.Identifier&nbsp;pid,
                         org.dataone.service.types.v1.NodeReference&nbsp;nodeId,
                         long&nbsp;serialVersion)</code>
<div class="block">Deletes the replica from the given Member Node
 NOTE: MN.delete() may be an "archive" operation.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#generateIdentifier-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">generateIdentifier</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                  java.lang.String&nbsp;scheme,
                  java.lang.String&nbsp;fragment)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v2.Node</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getCapabilities--">getCapabilities</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Checksum</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getChecksum</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
           org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Return the checksum of the object given the identifier</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v2.ObjectFormat</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getFormat-org.dataone.service.types.v1.ObjectFormatIdentifier-">getFormat</a></span>(org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;fmtid)</code>
<div class="block">Returns the object format registered in the DataONE Object Format 
 Vocabulary for the given format identifier</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">CNodeService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getInstance-javax.servlet.http.HttpServletRequest-">getInstance</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request)</code>
<div class="block">singleton accessor</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1_1.QueryEngineDescription</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getQueryEngineDescription-org.dataone.service.types.v1.Session-java.lang.String-">getQueryEngineDescription</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                         java.lang.String&nbsp;queryEngine)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#hasReservation-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-">hasReservation</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
              org.dataone.service.types.v1.Subject&nbsp;subject,
              org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Checks whether the pid is reserved by the subject in the session param
 If the reservation is held on the pid by the subject, we return true.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#isNodeAuthorized-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-">isNodeAuthorized</a></span>(org.dataone.service.types.v1.Session&nbsp;originatingNodeSession,
                org.dataone.service.types.v1.Subject&nbsp;targetNodeSubject,
                org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Verify that a replication task is authorized by comparing the target node's
 Subject (from the X.509 certificate-derived Session) with the list of 
 subjects in the known, pending replication tasks map.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.ChecksumAlgorithmList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listChecksumAlgorithms--">listChecksumAlgorithms</a></span>()</code>
<div class="block">Returns a list of checksum algorithms that are supported by DataONE.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v2.ObjectFormatList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listFormats--">listFormats</a></span>()</code>
<div class="block">Returns a list of all object formats registered in the DataONE Object 
 Format Vocabulary</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v2.NodeList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listNodes--">listNodes</a></span>()</code>
<div class="block">Returns a list of nodes that have been registered with the DataONE infrastructure</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.ObjectList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listObjects-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.NodeReference-org.dataone.service.types.v1.Identifier-java.lang.Integer-java.lang.Integer-">listObjects</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
           java.util.Date&nbsp;startTime,
           java.util.Date&nbsp;endTime,
           org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;formatid,
           org.dataone.service.types.v1.NodeReference&nbsp;nodeId,
           org.dataone.service.types.v1.Identifier&nbsp;identifier,
           java.lang.Integer&nbsp;start,
           java.lang.Integer&nbsp;count)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1_1.QueryEngineList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listQueryEngines-org.dataone.service.types.v1.Session-">listQueryEngines</a></span>(org.dataone.service.types.v1.Session&nbsp;session)</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#notifyReplicaNodes-org.dataone.service.types.v2.SystemMetadata-">notifyReplicaNodes</a></span>(org.dataone.service.types.v2.SystemMetadata&nbsp;currentSystemMetadata)</code>
<div class="block">Notify replica Member Nodes of system metadata changes for a given pid</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#query-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">query</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
     java.lang.String&nbsp;queryEngine,
     java.lang.String&nbsp;query)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#registerSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">registerSystemMetadata</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                      org.dataone.service.types.v1.Identifier&nbsp;pid,
                      org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)</code>
<div class="block">Provides a mechanism for adding system metadata independently of its 
 associated object, such as when adding system metadata for data objects.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#reserveIdentifier-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">reserveIdentifier</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                 org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Given an optional scope and format, reserves and returns an identifier 
 within that scope and format that is unique and will not be 
 used by any other sessions.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.ObjectLocationList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#resolve-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">resolve</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
       org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Resolve the location of a given object</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>org.dataone.service.types.v1.ObjectList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#search-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">search</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
      java.lang.String&nbsp;queryType,
      java.lang.String&nbsp;query)</code>
<div class="block">Metacat does not implement this method at the CN level</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#setAccessPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.AccessPolicy-long-">setAccessPolicy</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
               org.dataone.service.types.v1.Identifier&nbsp;pid,
               org.dataone.service.types.v1.AccessPolicy&nbsp;accessPolicy,
               long&nbsp;serialVersion)</code>
<div class="block">Set access for a given object using the object identifier and a Subject
 under a given Session.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#setObsoletedBy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-long-">setObsoletedBy</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
              org.dataone.service.types.v1.Identifier&nbsp;pid,
              org.dataone.service.types.v1.Identifier&nbsp;obsoletedByPid,
              long&nbsp;serialVersion)</code>
<div class="block">Set the obsoletedBy attribute in System Metadata</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#setReplicationPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.ReplicationPolicy-long-">setReplicationPolicy</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                    org.dataone.service.types.v1.Identifier&nbsp;pid,
                    org.dataone.service.types.v1.ReplicationPolicy&nbsp;policy,
                    long&nbsp;serialVersion)</code>
<div class="block">Set the replication policy for an object given the object identifier
 It only is applied to objects whose authoritative mn is a v1 node.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#setReplicationStatus-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-org.dataone.service.types.v1.ReplicationStatus-org.dataone.service.exceptions.BaseException-">setReplicationStatus</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                    org.dataone.service.types.v1.Identifier&nbsp;pid,
                    org.dataone.service.types.v1.NodeReference&nbsp;targetNode,
                    org.dataone.service.types.v1.ReplicationStatus&nbsp;status,
                    org.dataone.service.exceptions.BaseException&nbsp;failure)</code>
<div class="block">Set the replication status for an object given the object identifier</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#setRightsHolder-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Subject-long-">setRightsHolder</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
               org.dataone.service.types.v1.Identifier&nbsp;pid,
               org.dataone.service.types.v1.Subject&nbsp;userId,
               long&nbsp;serialVersion)</code>
<div class="block">Changes ownership (RightsHolder) of the specified object to the 
 subject specified by userId</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#synchronize-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">synchronize</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
           org.dataone.service.types.v1.Identifier&nbsp;pid)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#updateReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Replica-long-">updateReplicationMetadata</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                         org.dataone.service.types.v1.Identifier&nbsp;pid,
                         org.dataone.service.types.v1.Replica&nbsp;replica,
                         long&nbsp;serialVersion)</code>
<div class="block">Full replacement of replication metadata in the system metadata for the 
 specified object, changes date system metadata modified</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#updateSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">updateSystemMetadata</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                    org.dataone.service.types.v1.Identifier&nbsp;pid,
                    org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)</code>
<div class="block">Update the system metadata of the specified pid.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.edu.ucsb.nceas.metacat.dataone.D1NodeService">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;edu.ucsb.nceas.metacat.dataone.<a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></h3>
<code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#archiveCNObject-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-boolean-">archiveCNObject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#archiveObject-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-boolean-">archiveObject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#checkSidInModifyingSystemMetadata-org.dataone.service.types.v2.SystemMetadata-java.lang.String-java.lang.String-">checkSidInModifyingSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#checkV1SystemMetaPidExist-org.dataone.service.types.v1.Identifier-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">checkV1SystemMetaPidExist</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#delete-java.lang.String-org.dataone.service.types.v1.Identifier-">delete</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#describe-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">describe</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#existsInObsoletedBy-org.dataone.service.types.v1.Identifier-">existsInObsoletedBy</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#existsInObsoletes-org.dataone.service.types.v1.Identifier-">existsInObsoletes</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#expandPermissions-org.dataone.service.types.v1.Permission-">expandPermissions</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">get</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getCNNodeList--">getCNNodeList</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getLogRecords-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-java.lang.String-java.lang.String-java.lang.Integer-java.lang.Integer-">getLogRecords</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getPIDForSID-org.dataone.service.types.v1.Identifier-java.lang.String-">getPIDForSID</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSession--">getSession</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSystemMetadataForPID-org.dataone.service.types.v1.Identifier-java.lang.String-java.lang.String-java.lang.String-boolean-">getSystemMetadataForPID</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#insertDataObject-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Checksum-">insertDataObject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#insertOrUpdateDocument-java.io.InputStream-java.lang.String-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-org.dataone.service.types.v1.Checksum-">insertOrUpdateDocument</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#insertSystemMetadata-org.dataone.service.types.v2.SystemMetadata-">insertSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#isAuthorized-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Permission-">isAuthorized</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#isScienceMetadata-org.dataone.service.types.v2.SystemMetadata-">isScienceMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#isValidIdentifier-org.dataone.service.types.v1.Identifier-">isValidIdentifier</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listNodesBySubject-org.dataone.service.types.v1.Subject-org.dataone.service.types.v2.NodeList-">listNodesBySubject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listObjects-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-java.lang.Integer-java.lang.Integer-">listObjects</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listViews--">listViews</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listViews-org.dataone.service.types.v1.Session-">listViews</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#objectExists-org.dataone.service.types.v1.Identifier-">objectExists</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#ping--">ping</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#removeSolrIndex-org.dataone.service.types.v2.SystemMetadata-">removeSolrIndex</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#removeSystemMetaAndIdentifier-org.dataone.service.types.v1.Identifier-">removeSystemMetaAndIdentifier</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#setSession-org.dataone.service.types.v1.Session-">setSession</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#updateSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-boolean-org.dataone.service.types.v2.SystemMetadata-boolean-">updateSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#updateSystemMetadata-org.dataone.service.types.v2.SystemMetadata-">updateSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#view-org.dataone.service.types.v1.Session-java.lang.String-org.dataone.service.types.v1.Identifier-">view</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNAuthorization">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.cn.v2.CNAuthorization</h3>
<code>isAuthorized</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNCore">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.cn.v2.CNCore</h3>
<code>getLogRecords, ping</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNRead">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.cn.v2.CNRead</h3>
<code>describe, get, getSystemMetadata</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNView">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.cn.v2.CNView</h3>
<code>listViews, view</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="V2V1MISSMATCH">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>V2V1MISSMATCH</h4>
<pre>public static final&nbsp;java.lang.String V2V1MISSMATCH</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.dataone.CNodeService.V2V1MISSMATCH">Constant Field Values</a></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="getInstance-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static&nbsp;<a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">CNodeService</a>&nbsp;getInstance(javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
<div class="block">singleton accessor</div>
</li>
</ul>
<a name="setReplicationPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.ReplicationPolicy-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReplicationPolicy</h4>
<pre>public&nbsp;boolean&nbsp;setReplicationPolicy(org.dataone.service.types.v1.Session&nbsp;session,
                                    org.dataone.service.types.v1.Identifier&nbsp;pid,
                                    org.dataone.service.types.v1.ReplicationPolicy&nbsp;policy,
                                    long&nbsp;serialVersion)
                             throws org.dataone.service.exceptions.NotImplemented,
                                    org.dataone.service.exceptions.NotFound,
                                    org.dataone.service.exceptions.NotAuthorized,
                                    org.dataone.service.exceptions.ServiceFailure,
                                    org.dataone.service.exceptions.InvalidRequest,
                                    org.dataone.service.exceptions.InvalidToken,
                                    org.dataone.service.exceptions.VersionMismatch</pre>
<div class="block">Set the replication policy for an object given the object identifier
 It only is applied to objects whose authoritative mn is a v1 node.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setReplicationPolicy</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNReplication</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - the object identifier for the given object</dd>
<dd><code>policy</code> - - the replication policy to be applied</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true or false</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
</dl>
</li>
</ul>
<a name="deleteReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteReplicationMetadata</h4>
<pre>public&nbsp;boolean&nbsp;deleteReplicationMetadata(org.dataone.service.types.v1.Session&nbsp;session,
                                         org.dataone.service.types.v1.Identifier&nbsp;pid,
                                         org.dataone.service.types.v1.NodeReference&nbsp;nodeId,
                                         long&nbsp;serialVersion)
                                  throws org.dataone.service.exceptions.InvalidToken,
                                         org.dataone.service.exceptions.ServiceFailure,
                                         org.dataone.service.exceptions.NotAuthorized,
                                         org.dataone.service.exceptions.NotFound,
                                         org.dataone.service.exceptions.NotImplemented,
                                         org.dataone.service.exceptions.VersionMismatch</pre>
<div class="block">Deletes the replica from the given Member Node
 NOTE: MN.delete() may be an "archive" operation. TBD.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>deleteReplicationMetadata</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNReplication</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - </dd>
<dd><code>pid</code> - </dd>
<dd><code>nodeId</code> - </dd>
<dd><code>serialVersion</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd>
</dl>
</li>
</ul>
<a name="delete-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;delete(org.dataone.service.types.v1.Session&nbsp;session,
                                                      org.dataone.service.types.v1.Identifier&nbsp;pid)
                                               throws org.dataone.service.exceptions.InvalidToken,
                                                      org.dataone.service.exceptions.ServiceFailure,
                                                      org.dataone.service.exceptions.NotAuthorized,
                                                      org.dataone.service.exceptions.NotFound,
                                                      org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Deletes an object from the Coordinating Node</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>delete</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - The object identifier to be deleted</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pid - the identifier of the object used for the deletion</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="archive-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>archive</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;archive(org.dataone.service.types.v1.Session&nbsp;session,
                                                       org.dataone.service.types.v1.Identifier&nbsp;pid)
                                                throws org.dataone.service.exceptions.InvalidToken,
                                                       org.dataone.service.exceptions.ServiceFailure,
                                                       org.dataone.service.exceptions.NotAuthorized,
                                                       org.dataone.service.exceptions.NotFound,
                                                       org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Archives an object from the Coordinating Node</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>archive</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - The object identifier to be deleted</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pid - the identifier of the object used for the deletion</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="setObsoletedBy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setObsoletedBy</h4>
<pre>public&nbsp;boolean&nbsp;setObsoletedBy(org.dataone.service.types.v1.Session&nbsp;session,
                              org.dataone.service.types.v1.Identifier&nbsp;pid,
                              org.dataone.service.types.v1.Identifier&nbsp;obsoletedByPid,
                              long&nbsp;serialVersion)
                       throws org.dataone.service.exceptions.NotImplemented,
                              org.dataone.service.exceptions.NotFound,
                              org.dataone.service.exceptions.NotAuthorized,
                              org.dataone.service.exceptions.ServiceFailure,
                              org.dataone.service.exceptions.InvalidRequest,
                              org.dataone.service.exceptions.InvalidToken,
                              org.dataone.service.exceptions.VersionMismatch</pre>
<div class="block">Set the obsoletedBy attribute in System Metadata</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setObsoletedBy</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - </dd>
<dd><code>pid</code> - </dd>
<dd><code>obsoletedByPid</code> - </dd>
<dd><code>serialVersion</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd>
</dl>
</li>
</ul>
<a name="setReplicationStatus-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-org.dataone.service.types.v1.ReplicationStatus-org.dataone.service.exceptions.BaseException-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReplicationStatus</h4>
<pre>public&nbsp;boolean&nbsp;setReplicationStatus(org.dataone.service.types.v1.Session&nbsp;session,
                                    org.dataone.service.types.v1.Identifier&nbsp;pid,
                                    org.dataone.service.types.v1.NodeReference&nbsp;targetNode,
                                    org.dataone.service.types.v1.ReplicationStatus&nbsp;status,
                                    org.dataone.service.exceptions.BaseException&nbsp;failure)
                             throws org.dataone.service.exceptions.ServiceFailure,
                                    org.dataone.service.exceptions.NotImplemented,
                                    org.dataone.service.exceptions.InvalidToken,
                                    org.dataone.service.exceptions.NotAuthorized,
                                    org.dataone.service.exceptions.InvalidRequest,
                                    org.dataone.service.exceptions.NotFound</pre>
<div class="block">Set the replication status for an object given the object identifier</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setReplicationStatus</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNReplication</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - the object identifier for the given object</dd>
<dd><code>status</code> - - the replication status to be applied</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true or false</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
</dl>
</li>
</ul>
<a name="getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChecksum</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Checksum&nbsp;getChecksum(org.dataone.service.types.v1.Session&nbsp;session,
                                                         org.dataone.service.types.v1.Identifier&nbsp;pid)
                                                  throws org.dataone.service.exceptions.InvalidToken,
                                                         org.dataone.service.exceptions.ServiceFailure,
                                                         org.dataone.service.exceptions.NotAuthorized,
                                                         org.dataone.service.exceptions.NotFound,
                                                         org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Return the checksum of the object given the identifier</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getChecksum</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - the object identifier for the given object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>checksum - the checksum of the object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="resolve-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolve</h4>
<pre>public&nbsp;org.dataone.service.types.v1.ObjectLocationList&nbsp;resolve(org.dataone.service.types.v1.Session&nbsp;session,
                                                               org.dataone.service.types.v1.Identifier&nbsp;pid)
                                                        throws org.dataone.service.exceptions.InvalidToken,
                                                               org.dataone.service.exceptions.ServiceFailure,
                                                               org.dataone.service.exceptions.NotAuthorized,
                                                               org.dataone.service.exceptions.NotFound,
                                                               org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Resolve the location of a given object</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>resolve</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - the object identifier for the given object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>objectLocationList - the list of nodes known to contain the object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="search-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>search</h4>
<pre>public&nbsp;org.dataone.service.types.v1.ObjectList&nbsp;search(org.dataone.service.types.v1.Session&nbsp;session,
                                                      java.lang.String&nbsp;queryType,
                                                      java.lang.String&nbsp;query)
                                               throws org.dataone.service.exceptions.InvalidToken,
                                                      org.dataone.service.exceptions.ServiceFailure,
                                                      org.dataone.service.exceptions.NotAuthorized,
                                                      org.dataone.service.exceptions.InvalidRequest,
                                                      org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Metacat does not implement this method at the CN level</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>search</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="getFormat-org.dataone.service.types.v1.ObjectFormatIdentifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFormat</h4>
<pre>public&nbsp;org.dataone.service.types.v2.ObjectFormat&nbsp;getFormat(org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;fmtid)
                                                    throws org.dataone.service.exceptions.ServiceFailure,
                                                           org.dataone.service.exceptions.NotFound,
                                                           org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Returns the object format registered in the DataONE Object Format 
 Vocabulary for the given format identifier</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getFormat</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fmtid</code> - - the identifier of the format requested</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>objectFormat - the object format requested</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="addFormat-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v2.ObjectFormat-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFormat</h4>
<pre>public&nbsp;org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;addFormat(org.dataone.service.types.v1.Session&nbsp;session,
                                                                     org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;formatId,
                                                                     org.dataone.service.types.v2.ObjectFormat&nbsp;format)
                                                              throws org.dataone.service.exceptions.ServiceFailure,
                                                                     org.dataone.service.exceptions.NotFound,
                                                                     org.dataone.service.exceptions.NotImplemented,
                                                                     org.dataone.service.exceptions.NotAuthorized,
                                                                     org.dataone.service.exceptions.InvalidToken</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>addFormat</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
</dl>
</li>
</ul>
<a name="listFormats--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listFormats</h4>
<pre>public&nbsp;org.dataone.service.types.v2.ObjectFormatList&nbsp;listFormats()
                                                          throws org.dataone.service.exceptions.ServiceFailure,
                                                                 org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Returns a list of all object formats registered in the DataONE Object 
 Format Vocabulary</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>listFormats</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>objectFormatList - The list of object formats registered in 
                            the DataONE Object Format Vocabulary</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd>
</dl>
</li>
</ul>
<a name="listNodes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listNodes</h4>
<pre>public&nbsp;org.dataone.service.types.v2.NodeList&nbsp;listNodes()
                                                throws org.dataone.service.exceptions.NotImplemented,
                                                       org.dataone.service.exceptions.ServiceFailure</pre>
<div class="block">Returns a list of nodes that have been registered with the DataONE infrastructure</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>listNodes</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nodeList - List of nodes from the registry</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="registerSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerSystemMetadata</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;registerSystemMetadata(org.dataone.service.types.v1.Session&nbsp;session,
                                                                      org.dataone.service.types.v1.Identifier&nbsp;pid,
                                                                      org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)
                                                               throws org.dataone.service.exceptions.NotImplemented,
                                                                      org.dataone.service.exceptions.NotAuthorized,
                                                                      org.dataone.service.exceptions.ServiceFailure,
                                                                      org.dataone.service.exceptions.InvalidRequest,
                                                                      org.dataone.service.exceptions.InvalidSystemMetadata</pre>
<div class="block">Provides a mechanism for adding system metadata independently of its 
 associated object, such as when adding system metadata for data objects.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>registerSystemMetadata</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - The identifier of the object to register the system metadata against</dd>
<dd><code>sysmeta</code> - - The system metadata to be registered</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the registration succeeds</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd>
</dl>
</li>
</ul>
<a name="reserveIdentifier-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reserveIdentifier</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;reserveIdentifier(org.dataone.service.types.v1.Session&nbsp;session,
                                                                 org.dataone.service.types.v1.Identifier&nbsp;pid)
                                                          throws org.dataone.service.exceptions.InvalidToken,
                                                                 org.dataone.service.exceptions.ServiceFailure,
                                                                 org.dataone.service.exceptions.NotAuthorized,
                                                                 org.dataone.service.exceptions.IdentifierNotUnique,
                                                                 org.dataone.service.exceptions.NotImplemented,
                                                                 org.dataone.service.exceptions.InvalidRequest</pre>
<div class="block">Given an optional scope and format, reserves and returns an identifier 
 within that scope and format that is unique and will not be 
 used by any other sessions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>reserveIdentifier</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - The identifier of the object to register the system metadata against</dd>
<dd><code>scope</code> - - An optional string to be used to qualify the scope of 
                the identifier namespace, which is applied differently 
                depending on the format requested. If scope is not 
                supplied, a default scope will be used.</dd>
<dd><code>format</code> - - The optional name of the identifier format to be used, 
                  drawn from a DataONE-specific vocabulary of identifier 
                 format names, including several common syntaxes such 
                 as DOI, LSID, UUID, and LSRN, among others. If the 
                 format is not supplied by the caller, the CN service 
                 will use a default identifier format, which may change 
                 over time.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the registration succeeds</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="generateIdentifier-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generateIdentifier</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;generateIdentifier(org.dataone.service.types.v1.Session&nbsp;session,
                                                                  java.lang.String&nbsp;scheme,
                                                                  java.lang.String&nbsp;fragment)
                                                           throws org.dataone.service.exceptions.InvalidToken,
                                                                  org.dataone.service.exceptions.ServiceFailure,
                                                                  org.dataone.service.exceptions.NotAuthorized,
                                                                  org.dataone.service.exceptions.NotImplemented,
                                                                  org.dataone.service.exceptions.InvalidRequest</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>generateIdentifier</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="hasReservation-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasReservation</h4>
<pre>public&nbsp;boolean&nbsp;hasReservation(org.dataone.service.types.v1.Session&nbsp;session,
                              org.dataone.service.types.v1.Subject&nbsp;subject,
                              org.dataone.service.types.v1.Identifier&nbsp;pid)
                       throws org.dataone.service.exceptions.InvalidToken,
                              org.dataone.service.exceptions.ServiceFailure,
                              org.dataone.service.exceptions.NotFound,
                              org.dataone.service.exceptions.NotAuthorized,
                              org.dataone.service.exceptions.NotImplemented,
                              org.dataone.service.exceptions.InvalidRequest</pre>
<div class="block">Checks whether the pid is reserved by the subject in the session param
 If the reservation is held on the pid by the subject, we return true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>hasReservation</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the Subject</dd>
<dd><code>pid</code> - - The identifier to check</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the reservation exists for the subject/pid</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code> - - when the pid is not found (in use or in reservation)</dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code> - - when the subject does not hold a reservation on the pid</dd>
<dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code> - - when the pid is in use</dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="setRightsHolder-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Subject-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRightsHolder</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;setRightsHolder(org.dataone.service.types.v1.Session&nbsp;session,
                                                               org.dataone.service.types.v1.Identifier&nbsp;pid,
                                                               org.dataone.service.types.v1.Subject&nbsp;userId,
                                                               long&nbsp;serialVersion)
                                                        throws org.dataone.service.exceptions.InvalidToken,
                                                               org.dataone.service.exceptions.ServiceFailure,
                                                               org.dataone.service.exceptions.NotFound,
                                                               org.dataone.service.exceptions.NotAuthorized,
                                                               org.dataone.service.exceptions.NotImplemented,
                                                               org.dataone.service.exceptions.InvalidRequest,
                                                               org.dataone.service.exceptions.VersionMismatch</pre>
<div class="block">Changes ownership (RightsHolder) of the specified object to the 
 subject specified by userId</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setRightsHolder</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNAuthorization</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - Identifier of the object to be modified</dd>
<dd><code>userId</code> - - The subject that will be taking ownership of the specified object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pid - the identifier of the modified object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd>
</dl>
</li>
</ul>
<a name="isNodeAuthorized-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNodeAuthorized</h4>
<pre>public&nbsp;boolean&nbsp;isNodeAuthorized(org.dataone.service.types.v1.Session&nbsp;originatingNodeSession,
                                org.dataone.service.types.v1.Subject&nbsp;targetNodeSubject,
                                org.dataone.service.types.v1.Identifier&nbsp;pid)
                         throws org.dataone.service.exceptions.NotImplemented,
                                org.dataone.service.exceptions.NotAuthorized,
                                org.dataone.service.exceptions.InvalidToken,
                                org.dataone.service.exceptions.ServiceFailure,
                                org.dataone.service.exceptions.NotFound,
                                org.dataone.service.exceptions.InvalidRequest</pre>
<div class="block">Verify that a replication task is authorized by comparing the target node's
 Subject (from the X.509 certificate-derived Session) with the list of 
 subjects in the known, pending replication tasks map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isNodeAuthorized</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNReplication</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>originatingNodeSession</code> - - Session information that contains the 
                                 identity of the calling user</dd>
<dd><code>targetNodeSubject</code> - - Subject identifying the target node</dd>
<dd><code>pid</code> - - the identifier of the object to be replicated</dd>
<dd><code>replicatePermission</code> - - the execute permission to be granted</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
</dl>
</li>
</ul>
<a name="create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;create(org.dataone.service.types.v1.Session&nbsp;session,
                                                      org.dataone.service.types.v1.Identifier&nbsp;pid,
                                                      java.io.InputStream&nbsp;object,
                                                      org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)
                                               throws org.dataone.service.exceptions.InvalidToken,
                                                      org.dataone.service.exceptions.ServiceFailure,
                                                      org.dataone.service.exceptions.NotAuthorized,
                                                      org.dataone.service.exceptions.IdentifierNotUnique,
                                                      org.dataone.service.exceptions.UnsupportedType,
                                                      org.dataone.service.exceptions.InsufficientResources,
                                                      org.dataone.service.exceptions.InvalidSystemMetadata,
                                                      org.dataone.service.exceptions.NotImplemented,
                                                      org.dataone.service.exceptions.InvalidRequest</pre>
<div class="block">Adds a new object to the Node, where the object is a science metadata object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>create</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-">create</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - The object identifier to be created</dd>
<dd><code>object</code> - - the object bytes</dd>
<dd><code>sysmeta</code> - - the system metadata that describes the object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pid - the object identifier created</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code></dd>
<dd><code>org.dataone.service.exceptions.UnsupportedType</code></dd>
<dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="setAccessPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.AccessPolicy-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAccessPolicy</h4>
<pre>public&nbsp;boolean&nbsp;setAccessPolicy(org.dataone.service.types.v1.Session&nbsp;session,
                               org.dataone.service.types.v1.Identifier&nbsp;pid,
                               org.dataone.service.types.v1.AccessPolicy&nbsp;accessPolicy,
                               long&nbsp;serialVersion)
                        throws org.dataone.service.exceptions.InvalidToken,
                               org.dataone.service.exceptions.ServiceFailure,
                               org.dataone.service.exceptions.NotFound,
                               org.dataone.service.exceptions.NotAuthorized,
                               org.dataone.service.exceptions.NotImplemented,
                               org.dataone.service.exceptions.InvalidRequest,
                               org.dataone.service.exceptions.VersionMismatch</pre>
<div class="block">Set access for a given object using the object identifier and a Subject
 under a given Session.
 This method only applies the objects whose authoritative mn is a v1 node.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setAccessPolicy</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNAuthorization</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - the object identifier for the given object to apply the policy</dd>
<dd><code>policy</code> - - the access policy to be applied</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the application of the policy succeeds</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd>
</dl>
</li>
</ul>
<a name="updateReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Replica-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateReplicationMetadata</h4>
<pre>public&nbsp;boolean&nbsp;updateReplicationMetadata(org.dataone.service.types.v1.Session&nbsp;session,
                                         org.dataone.service.types.v1.Identifier&nbsp;pid,
                                         org.dataone.service.types.v1.Replica&nbsp;replica,
                                         long&nbsp;serialVersion)
                                  throws org.dataone.service.exceptions.NotImplemented,
                                         org.dataone.service.exceptions.NotAuthorized,
                                         org.dataone.service.exceptions.ServiceFailure,
                                         org.dataone.service.exceptions.InvalidRequest,
                                         org.dataone.service.exceptions.NotFound,
                                         org.dataone.service.exceptions.VersionMismatch</pre>
<div class="block">Full replacement of replication metadata in the system metadata for the 
 specified object, changes date system metadata modified</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>updateReplicationMetadata</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNReplication</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>pid</code> - - the object identifier for the given object to apply the policy</dd>
<dd><code>replica</code> - - the replica to be updated</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd>
</dl>
</li>
</ul>
<a name="listObjects-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.NodeReference-org.dataone.service.types.v1.Identifier-java.lang.Integer-java.lang.Integer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listObjects</h4>
<pre>public&nbsp;org.dataone.service.types.v1.ObjectList&nbsp;listObjects(org.dataone.service.types.v1.Session&nbsp;session,
                                                           java.util.Date&nbsp;startTime,
                                                           java.util.Date&nbsp;endTime,
                                                           org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;formatid,
                                                           org.dataone.service.types.v1.NodeReference&nbsp;nodeId,
                                                           org.dataone.service.types.v1.Identifier&nbsp;identifier,
                                                           java.lang.Integer&nbsp;start,
                                                           java.lang.Integer&nbsp;count)
                                                    throws org.dataone.service.exceptions.InvalidRequest,
                                                           org.dataone.service.exceptions.InvalidToken,
                                                           org.dataone.service.exceptions.NotAuthorized,
                                                           org.dataone.service.exceptions.NotImplemented,
                                                           org.dataone.service.exceptions.ServiceFailure</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>listObjects</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
</dl>
</li>
</ul>
<a name="listChecksumAlgorithms--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listChecksumAlgorithms</h4>
<pre>public&nbsp;org.dataone.service.types.v1.ChecksumAlgorithmList&nbsp;listChecksumAlgorithms()
                                                                          throws org.dataone.service.exceptions.ServiceFailure,
                                                                                 org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Returns a list of checksum algorithms that are supported by DataONE.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>listChecksumAlgorithms</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>cal  the list of checksum algorithms</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="notifyReplicaNodes-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notifyReplicaNodes</h4>
<pre>public&nbsp;void&nbsp;notifyReplicaNodes(org.dataone.service.types.v2.SystemMetadata&nbsp;currentSystemMetadata)</pre>
<div class="block">Notify replica Member Nodes of system metadata changes for a given pid</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>currentSystemMetadata</code> - - the up to date system metadata</dd>
</dl>
</li>
</ul>
<a name="updateSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateSystemMetadata</h4>
<pre>public&nbsp;boolean&nbsp;updateSystemMetadata(org.dataone.service.types.v1.Session&nbsp;session,
                                    org.dataone.service.types.v1.Identifier&nbsp;pid,
                                    org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)
                             throws org.dataone.service.exceptions.NotImplemented,
                                    org.dataone.service.exceptions.NotAuthorized,
                                    org.dataone.service.exceptions.ServiceFailure,
                                    org.dataone.service.exceptions.InvalidRequest,
                                    org.dataone.service.exceptions.InvalidSystemMetadata,
                                    org.dataone.service.exceptions.InvalidToken</pre>
<div class="block">Update the system metadata of the specified pid.
 Note: the serial version and the replica list in the new system metadata will be ignored and the old values will be kept.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>updateSystemMetadata</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
</dl>
</li>
</ul>
<a name="synchronize-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>synchronize</h4>
<pre>public&nbsp;boolean&nbsp;synchronize(org.dataone.service.types.v1.Session&nbsp;session,
                           org.dataone.service.types.v1.Identifier&nbsp;pid)
                    throws org.dataone.service.exceptions.NotAuthorized,
                           org.dataone.service.exceptions.InvalidRequest,
                           org.dataone.service.exceptions.NotImplemented</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>synchronize</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="getQueryEngineDescription-org.dataone.service.types.v1.Session-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryEngineDescription</h4>
<pre>public&nbsp;org.dataone.service.types.v1_1.QueryEngineDescription&nbsp;getQueryEngineDescription(org.dataone.service.types.v1.Session&nbsp;session,
                                                                                       java.lang.String&nbsp;queryEngine)
                                                                                throws org.dataone.service.exceptions.InvalidToken,
                                                                                       org.dataone.service.exceptions.ServiceFailure,
                                                                                       org.dataone.service.exceptions.NotAuthorized,
                                                                                       org.dataone.service.exceptions.NotImplemented,
                                                                                       org.dataone.service.exceptions.NotFound</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getQueryEngineDescription</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
</dl>
</li>
</ul>
<a name="listQueryEngines-org.dataone.service.types.v1.Session-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listQueryEngines</h4>
<pre>public&nbsp;org.dataone.service.types.v1_1.QueryEngineList&nbsp;listQueryEngines(org.dataone.service.types.v1.Session&nbsp;session)
                                                                throws org.dataone.service.exceptions.InvalidToken,
                                                                       org.dataone.service.exceptions.ServiceFailure,
                                                                       org.dataone.service.exceptions.NotAuthorized,
                                                                       org.dataone.service.exceptions.NotImplemented</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>listQueryEngines</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="query-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>query</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;query(org.dataone.service.types.v1.Session&nbsp;session,
                                 java.lang.String&nbsp;queryEngine,
                                 java.lang.String&nbsp;query)
                          throws org.dataone.service.exceptions.InvalidToken,
                                 org.dataone.service.exceptions.ServiceFailure,
                                 org.dataone.service.exceptions.NotAuthorized,
                                 org.dataone.service.exceptions.InvalidRequest,
                                 org.dataone.service.exceptions.NotImplemented,
                                 org.dataone.service.exceptions.NotFound</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>query</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNRead</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
</dl>
</li>
</ul>
<a name="getCapabilities--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCapabilities</h4>
<pre>public&nbsp;org.dataone.service.types.v2.Node&nbsp;getCapabilities()
                                                  throws org.dataone.service.exceptions.NotImplemented,
                                                         org.dataone.service.exceptions.ServiceFailure</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getCapabilities</code>&nbsp;in interface&nbsp;<code>org.dataone.service.cn.v2.CNCore</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></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/CNodeService.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>Prev&nbsp;Class</li>
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1AuthHelper.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/dataone/CNodeService.html" target="_top">Frames</a></li>
<li><a href="CNodeService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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>