<!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>MNodeService (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="MNodeService (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};
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/MNodeService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/DOIService.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/ObjectFormatService.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/MNodeService.html" target="_top">Frames</a></li>
<li><a href="MNodeService.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 MNodeService" class="title">Class MNodeService</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.MNodeService</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.mn.tier1.v2.MNCore, org.dataone.service.mn.tier1.v2.MNRead, org.dataone.service.mn.tier2.v2.MNAuthorization, org.dataone.service.mn.tier3.v2.MNStorage, org.dataone.service.mn.tier4.v2.MNReplication, org.dataone.service.mn.v2.MNPackage, org.dataone.service.mn.v2.MNQuery, org.dataone.service.mn.v2.MNView</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">MNodeService</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.mn.tier2.v2.MNAuthorization, org.dataone.service.mn.tier1.v2.MNCore, org.dataone.service.mn.tier1.v2.MNRead, org.dataone.service.mn.tier4.v2.MNReplication, org.dataone.service.mn.tier3.v2.MNStorage, org.dataone.service.mn.v2.MNQuery, org.dataone.service.mn.v2.MNView, org.dataone.service.mn.v2.MNPackage</pre>
<div class="block">Represents Metacat's implementation of the DataONE Member Node 
 service API. Methods implement the various MN* interfaces, and methods common
 to both Member Node and Coordinating Node interfaces are found in the
 D1NodeService base class.
 
 Implements:
 MNCore.ping()
 MNCore.getLogRecords()
 MNCore.getObjectStatistics()
 MNCore.getOperationStatistics()
 MNCore.getStatus()
 MNCore.getCapabilities()
 MNRead.get()
 MNRead.getSystemMetadata()
 MNRead.describe()
 MNRead.getChecksum()
 MNRead.listObjects()
 MNRead.synchronizationFailed()
 MNAuthorization.isAuthorized()
 MNAuthorization.setAccessPolicy()
 MNStorage.create()
 MNStorage.update()
 MNStorage.delete()
 MNStorage.updateSystemMetadata()
 MNReplication.replicate()</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/MNodeService.html#DOI_SCHEME">DOI_SCHEME</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#UUID_SCHEME">UUID_SCHEME</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.mn.tier1.v2.MNCore">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.dataone.service.mn.tier1.v2.MNCore</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.Identifier</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.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, where the object is either a 
 data object or a science metadata object.</div>
</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/MNodeService.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 either a data 
 object or a science metadata object.</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/MNodeService.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;id)</code>
<div class="block">Deletes an object from the Member Node, where the object is either a 
 data object or a science metadata object.</div>
</td>
</tr>
<tr id="i3" 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/MNodeService.html#editScienceMetadata-org.dataone.service.types.v1.Session-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-boolean-org.dataone.service.types.v2.SystemMetadata-">editScienceMetadata</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                   java.io.InputStream&nbsp;object,
                   org.dataone.service.types.v1.Identifier&nbsp;pid,
                   org.dataone.service.types.v1.Identifier&nbsp;newPid,
                   boolean&nbsp;isEML,
                   org.dataone.service.types.v2.SystemMetadata&nbsp;newSysmeta)</code>
<div class="block">Update a science metadata document with its new Identifier</div>
</td>
</tr>
<tr id="i4" 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/MNodeService.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="i5" 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/MNodeService.html#get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">get</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
   org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Return the object identified by the given object identifier</div>
</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/MNodeService.html#getCapabilities--">getCapabilities</a></span>()</code>
<div class="block">Return a description of the node's capabilities and services.</div>
</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/MNodeService.html#getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.lang.String-">getChecksum</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
           org.dataone.service.types.v1.Identifier&nbsp;pid,
           java.lang.String&nbsp;algorithm)</code>
<div class="block">Returns a Checksum for the specified object using an accepted hashing algorithm</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected org.dataone.service.types.v1.NodeReference</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getCurrentNodeId--">getCurrentNodeId</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">MNodeService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getInstance-javax.servlet.http.HttpServletRequest-">getInstance</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request)</code>
<div class="block">Singleton accessor to get an instance of MNodeService.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getPackage-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-">getPackage</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
          org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;formatId,
          org.dataone.service.types.v1.Identifier&nbsp;pid)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<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/MNodeService.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;engine)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getReplica-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getReplica</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
          org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Essentially a get() but with different logging behavior</div>
</td>
</tr>
<tr id="i13" 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/MNodeService.html#getStatus-org.dataone.service.types.v1.Session-">getStatus</a></span>(org.dataone.service.types.v1.Session&nbsp;session)</code>
<div class="block">Get the status of the system.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v2.SystemMetadata</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getSystemMetadata</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                 org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Return the system metadata for a given object</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#isAuthoritativeNode-org.dataone.service.types.v1.Identifier-">isAuthoritativeNode</a></span>(org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Determine if the current node is the authoritative node for the given pid.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#isReadOnlyMode--">isReadOnlyMode</a></span>()</code>
<div class="block">Check if the metacat is in the read-only mode.</div>
</td>
</tr>
<tr id="i17" 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/MNodeService.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-java.lang.Boolean-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;objectFormatId,
           org.dataone.service.types.v1.Identifier&nbsp;identifier,
           java.lang.Boolean&nbsp;replicaStatus,
           java.lang.Integer&nbsp;start,
           java.lang.Integer&nbsp;count)</code>
<div class="block">Retrieve the list of objects present on the MN that match the calling parameters</div>
</td>
</tr>
<tr id="i18" class="altColor">
<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/MNodeService.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="i19" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;org.dataone.service.types.v1.Identifier&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#lookupOreFor-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-boolean-">lookupOreFor</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
            org.dataone.service.types.v1.Identifier&nbsp;guid,
            boolean&nbsp;includeObsolete)</code>
<div class="block">Determines if we already have registered an ORE map for this package
 NOTE: uses a solr query to locate OREs for the object</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#postQuery-org.dataone.service.types.v1.Session-java.lang.String-java.util.HashMap-">postQuery</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
         java.lang.String&nbsp;engine,
         java.util.HashMap&lt;java.lang.String,java.lang.String[]&gt;&nbsp;params)</code>
<div class="block">Handle the query sent by the http post method</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/MNodeService.html#publish-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">publish</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
       org.dataone.service.types.v1.Identifier&nbsp;originalIdentifier)</code>
<div class="block">Given an existing Science Metadata PID, this method mints a DOI
 and updates the original object "publishing" the update with the DOI.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.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;engine,
     java.lang.String&nbsp;query)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#removeIdFromIdentifierTable-org.dataone.service.types.v1.Identifier-">removeIdFromIdentifierTable</a></span>(org.dataone.service.types.v1.Identifier&nbsp;id)</code>&nbsp;</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/MNodeService.html#replicate-org.dataone.service.types.v1.Session-org.dataone.service.types.v2.SystemMetadata-org.dataone.service.types.v1.NodeReference-">replicate</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
         org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta,
         org.dataone.service.types.v1.NodeReference&nbsp;sourceNode)</code>
<div class="block">Called by a Coordinating Node to request that the Member Node create a 
 copy of the specified object by retrieving it from another Member 
 Node and storing it locally so that it can be made accessible to 
 the DataONE system.</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/MNodeService.html#synchronizationFailed-org.dataone.service.types.v1.Session-org.dataone.service.exceptions.SynchronizationFailed-">synchronizationFailed</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                     org.dataone.service.exceptions.SynchronizationFailed&nbsp;syncFailed)</code>
<div class="block">A callback method used by a CN to indicate to a MN that it cannot 
 complete synchronization of the science metadata identified by pid.</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/MNodeService.html#systemMetadataChanged-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-">systemMetadataChanged</a></span>(boolean&nbsp;needCheckAuthoriativeNode,
                     org.dataone.service.types.v1.Session&nbsp;session,
                     org.dataone.service.types.v1.Identifier&nbsp;pid,
                     long&nbsp;serialVersion,
                     java.util.Date&nbsp;dateSysMetaLastModified)</code>
<div class="block">A method to notify the Member Node that the authoritative copy of 
 system metadata on the Coordinating Nodes has changed.</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/MNodeService.html#systemMetadataChanged-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-">systemMetadataChanged</a></span>(org.dataone.service.types.v1.Session&nbsp;session,
                     org.dataone.service.types.v1.Identifier&nbsp;pid,
                     long&nbsp;serialVersion,
                     java.util.Date&nbsp;dateSysMetaLastModified)</code>
<div class="block">A method to notify the Member Node that the authoritative copy of 
 system metadata on the Coordinating Nodes has changed.</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/MNodeService.html#update-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">update</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.v1.Identifier&nbsp;newPid,
      org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)</code>
<div class="block">Updates an existing object by creating a new object identified by 
 newPid on the Member Node which explicitly obsoletes the object 
 identified by pid through appropriate changes to the SystemMetadata 
 of pid and newPid</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/MNodeService.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#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#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.mn.tier2.v2.MNAuthorization">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.mn.tier2.v2.MNAuthorization</h3>
<code>isAuthorized</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.tier1.v2.MNCore">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.mn.tier1.v2.MNCore</h3>
<code>getLogRecords, ping</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.tier1.v2.MNRead">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.mn.tier1.v2.MNRead</h3>
<code>describe</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.v2.MNView">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.dataone.service.mn.v2.MNView</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="UUID_SCHEME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UUID_SCHEME</h4>
<pre>public static final&nbsp;java.lang.String UUID_SCHEME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.dataone.MNodeService.UUID_SCHEME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DOI_SCHEME">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DOI_SCHEME</h4>
<pre>public static final&nbsp;java.lang.String DOI_SCHEME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.dataone.MNodeService.DOI_SCHEME">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/MNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">MNodeService</a>&nbsp;getInstance(javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
<div class="block">Singleton accessor to get an instance of MNodeService.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>instance - the instance of MNodeService</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;id)
                                               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 Member Node, where the object is either a 
 data object or a science metadata object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>delete</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier3.v2.MNStorage</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="update-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;update(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.v1.Identifier&nbsp;newPid,
                                                      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.NotFound,
                                                      org.dataone.service.exceptions.InvalidSystemMetadata,
                                                      org.dataone.service.exceptions.NotImplemented,
                                                      org.dataone.service.exceptions.InvalidRequest</pre>
<div class="block">Updates an existing object by creating a new object identified by 
 newPid on the Member Node which explicitly obsoletes the object 
 identified by pid through appropriate changes to the SystemMetadata 
 of pid and newPid</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>update</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier3.v2.MNStorage</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 be updated</dd>
<dd><code>object</code> - - the new object bytes</dd>
<dd><code>sysmeta</code> - - the new system metadata describing the object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>newPid - the identifier of the new 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>
<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.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="removeIdFromIdentifierTable-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeIdFromIdentifierTable</h4>
<pre>protected&nbsp;void&nbsp;removeIdFromIdentifierTable(org.dataone.service.types.v1.Identifier&nbsp;id)</pre>
</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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<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-">D1NodeService</a></code></span></div>
<div class="block">Adds a new object to the Node, where the object is either a data 
 object or a science metadata object. This method is called by clients 
 to create new data objects on Member Nodes or internally for Coordinating
 Nodes</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>create</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier3.v2.MNStorage</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="replicate-org.dataone.service.types.v1.Session-org.dataone.service.types.v2.SystemMetadata-org.dataone.service.types.v1.NodeReference-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replicate</h4>
<pre>public&nbsp;boolean&nbsp;replicate(org.dataone.service.types.v1.Session&nbsp;session,
                         org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta,
                         org.dataone.service.types.v1.NodeReference&nbsp;sourceNode)
                  throws org.dataone.service.exceptions.NotImplemented,
                         org.dataone.service.exceptions.ServiceFailure,
                         org.dataone.service.exceptions.NotAuthorized,
                         org.dataone.service.exceptions.InvalidRequest,
                         org.dataone.service.exceptions.InsufficientResources,
                         org.dataone.service.exceptions.UnsupportedType</pre>
<div class="block">Called by a Coordinating Node to request that the Member Node create a 
 copy of the specified object by retrieving it from another Member 
 Node and storing it locally so that it can be made accessible to 
 the DataONE system.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>replicate</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier4.v2.MNReplication</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>sysmeta</code> - - Copy of the CN held system metadata for the object</dd>
<dd><code>sourceNode</code> - - A reference to node from which the content should be 
                     retrieved. The reference should be resolved by 
                     checking the CN node registry.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the replication succeeds</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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.UnsupportedType</code></dd>
<dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;get(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 object identified by the given object identifier</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>get</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">get</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 for the given object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>inputStream - the input stream of the given 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.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="getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.lang.String-">
<!--   -->
</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,
                                                         java.lang.String&nbsp;algorithm)
                                                  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.InvalidRequest,
                                                         org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Returns a Checksum for the specified object using an accepted hashing algorithm</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getChecksum</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</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>algorithm</code> - -  the name of an algorithm that will be used to compute 
                     a checksum of the bytes of the object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>checksum - the checksum of the given 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.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemMetadata</h4>
<pre>public&nbsp;org.dataone.service.types.v2.SystemMetadata&nbsp;getSystemMetadata(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 system metadata for a given object</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getSystemMetadata</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getSystemMetadata</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 for the given object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>inputStream - the input stream of the given system metadata 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.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</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.Identifier-java.lang.Boolean-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;objectFormatId,
                                                           org.dataone.service.types.v1.Identifier&nbsp;identifier,
                                                           java.lang.Boolean&nbsp;replicaStatus,
                                                           java.lang.Integer&nbsp;start,
                                                           java.lang.Integer&nbsp;count)
                                                    throws org.dataone.service.exceptions.NotAuthorized,
                                                           org.dataone.service.exceptions.InvalidRequest,
                                                           org.dataone.service.exceptions.NotImplemented,
                                                           org.dataone.service.exceptions.ServiceFailure,
                                                           org.dataone.service.exceptions.InvalidToken</pre>
<div class="block">Retrieve the list of objects present on the MN that match the calling parameters</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>listObjects</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</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>startTime</code> - - Specifies the beginning of the time range from which 
                    to return object (>=)</dd>
<dd><code>endTime</code> - - Specifies the beginning of the time range from which 
                  to return object (>=)</dd>
<dd><code>objectFormat</code> - - Restrict results to the specified object format</dd>
<dd><code>replicaStatus</code> - - Indicates if replicated objects should be returned in the list</dd>
<dd><code>start</code> - - The zero-based index of the first value, relative to the 
                first record of the resultset that matches the parameters.</dd>
<dd><code>count</code> - - The maximum number of entries that should be returned in 
                the response. The Member Node may return less entries 
                than specified in this value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>objectList - the list of objects matching the criteria</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="getCapabilities--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCapabilities</h4>
<pre>public&nbsp;org.dataone.service.types.v2.Node&nbsp;getCapabilities()
                                                  throws org.dataone.service.exceptions.ServiceFailure</pre>
<div class="block">Return a description of the node's capabilities and services.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getCapabilities</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNCore</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>node - the technical capabilities of the Member Node</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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> - - not thrown by this implementation</dd>
</dl>
</li>
</ul>
<a name="synchronizationFailed-org.dataone.service.types.v1.Session-org.dataone.service.exceptions.SynchronizationFailed-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>synchronizationFailed</h4>
<pre>public&nbsp;boolean&nbsp;synchronizationFailed(org.dataone.service.types.v1.Session&nbsp;session,
                                     org.dataone.service.exceptions.SynchronizationFailed&nbsp;syncFailed)
                              throws org.dataone.service.exceptions.NotImplemented,
                                     org.dataone.service.exceptions.ServiceFailure,
                                     org.dataone.service.exceptions.NotAuthorized</pre>
<div class="block">A callback method used by a CN to indicate to a MN that it cannot 
 complete synchronization of the science metadata identified by pid.  Log
 the event in the metacat event log.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>synchronizationFailed</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - </dd>
<dd><code>syncFailed</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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="getReplica-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReplica</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;getReplica(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.NotImplemented,
                                      org.dataone.service.exceptions.ServiceFailure,
                                      org.dataone.service.exceptions.InvalidToken,
                                      org.dataone.service.exceptions.NotFound</pre>
<div class="block">Essentially a get() but with different logging behavior</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getReplica</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
<dd><code>org.dataone.service.exceptions.NotFound</code></dd>
</dl>
</li>
</ul>
<a name="systemMetadataChanged-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>systemMetadataChanged</h4>
<pre>public&nbsp;boolean&nbsp;systemMetadataChanged(org.dataone.service.types.v1.Session&nbsp;session,
                                     org.dataone.service.types.v1.Identifier&nbsp;pid,
                                     long&nbsp;serialVersion,
                                     java.util.Date&nbsp;dateSysMetaLastModified)
                              throws org.dataone.service.exceptions.NotImplemented,
                                     org.dataone.service.exceptions.ServiceFailure,
                                     org.dataone.service.exceptions.NotAuthorized,
                                     org.dataone.service.exceptions.InvalidRequest,
                                     org.dataone.service.exceptions.InvalidToken</pre>
<div class="block">A method to notify the Member Node that the authoritative copy of 
 system metadata on the Coordinating Nodes has changed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>systemMetadataChanged</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier1.v2.MNRead</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - Session information that contains the identity of the 
                  calling user as retrieved from the X.509 certificate 
                  which must be traceable to the CILogon service.</dd>
<dd><code>serialVersion</code> - The serialVersion of the system metadata</dd>
<dd><code>dateSysMetaLastModified</code> - The time stamp for when the system metadata was changed</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>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</code></dd>
</dl>
</li>
</ul>
<a name="systemMetadataChanged-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>systemMetadataChanged</h4>
<pre>public&nbsp;boolean&nbsp;systemMetadataChanged(boolean&nbsp;needCheckAuthoriativeNode,
                                     org.dataone.service.types.v1.Session&nbsp;session,
                                     org.dataone.service.types.v1.Identifier&nbsp;pid,
                                     long&nbsp;serialVersion,
                                     java.util.Date&nbsp;dateSysMetaLastModified)
                              throws org.dataone.service.exceptions.NotImplemented,
                                     org.dataone.service.exceptions.ServiceFailure,
                                     org.dataone.service.exceptions.NotAuthorized,
                                     org.dataone.service.exceptions.InvalidRequest,
                                     org.dataone.service.exceptions.InvalidToken</pre>
<div class="block">A method to notify the Member Node that the authoritative copy of 
 system metadata on the Coordinating Nodes has changed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>needCheckAuthoriativeNode</code> - this is for the dataone version 2. In the
 version 2, there are two scenarios:
 1. If the node is the authoritative node, it only accepts serial version and replica list.
 2. If the node is a replica, it accepts everything.
 For the v1, api, the parameter should be false.</dd>
<dd><code>session</code> - Session information that contains the identity of the 
                  calling user as retrieved from the X.509 certificate 
                  which must be traceable to the CILogon service.</dd>
<dd><code>serialVersion</code> - The serialVersion of the system metadata</dd>
<dd><code>dateSysMetaLastModified</code> - The time stamp for when the system metadata was changed</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>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidToken</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.mn.tier3.v2.MNStorage</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="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;engine)
                                                                                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.mn.v2.MNQuery</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.mn.v2.MNQuery</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;engine,
                                 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.mn.v2.MNQuery</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="postQuery-org.dataone.service.types.v1.Session-java.lang.String-java.util.HashMap-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postQuery</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;postQuery(org.dataone.service.types.v1.Session&nbsp;session,
                                     java.lang.String&nbsp;engine,
                                     java.util.HashMap&lt;java.lang.String,java.lang.String[]&gt;&nbsp;params)
                              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>
<div class="block">Handle the query sent by the http post method</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - identity information of the requester</dd>
<dd><code>engine</code> - the query engine will be used. Now we only support solr</dd>
<dd><code>params</code> - the query parameters with key/value pairs</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.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="publish-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>publish</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;publish(org.dataone.service.types.v1.Session&nbsp;session,
                                                       org.dataone.service.types.v1.Identifier&nbsp;originalIdentifier)
                                                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,
                                                       org.dataone.service.exceptions.NotFound,
                                                       org.dataone.service.exceptions.IdentifierNotUnique,
                                                       org.dataone.service.exceptions.UnsupportedType,
                                                       org.dataone.service.exceptions.InsufficientResources,
                                                       org.dataone.service.exceptions.InvalidSystemMetadata,
                                                       java.io.IOException</pre>
<div class="block">Given an existing Science Metadata PID, this method mints a DOI
 and updates the original object "publishing" the update with the DOI.
 This includes updating the ORE map that describes the Science Metadata+data.
 TODO: ensure all referenced objects allow public read</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>originalIdentifier</code> - </dd>
<dd><code>request</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidRequest</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.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.InvalidSystemMetadata</code></dd>
<dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd>
<dd><code>org.dataone.service.exceptions.UnsupportedType</code></dd>
<dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code></dd>
<dd><code>java.io.IOException</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>https://projects.ecoinformatics.org/ecoinfo/issues/6014</code></dd>
</dl>
</li>
</ul>
<a name="editScienceMetadata-org.dataone.service.types.v1.Session-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-boolean-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>editScienceMetadata</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;editScienceMetadata(org.dataone.service.types.v1.Session&nbsp;session,
                                               java.io.InputStream&nbsp;object,
                                               org.dataone.service.types.v1.Identifier&nbsp;pid,
                                               org.dataone.service.types.v1.Identifier&nbsp;newPid,
                                               boolean&nbsp;isEML,
                                               org.dataone.service.types.v2.SystemMetadata&nbsp;newSysmeta)
                                        throws org.dataone.service.exceptions.ServiceFailure,
                                               java.io.IOException,
                                               java.io.UnsupportedEncodingException,
                                               org.dataone.service.exceptions.InvalidToken,
                                               org.dataone.service.exceptions.NotAuthorized,
                                               org.dataone.service.exceptions.NotFound,
                                               org.dataone.service.exceptions.NotImplemented</pre>
<div class="block">Update a science metadata document with its new Identifier</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - - the Session object containing the credentials for the Subject</dd>
<dd><code>object</code> - - the InputStream for the XML object to be edited</dd>
<dd><code>pid</code> - - the Identifier of the XML object to be updated</dd>
<dd><code>newPid</code> - = the new Identifier to give to the modified XML doc</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>newObject - The InputStream for the modified XML object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
<dd><code>java.io.IOException</code></dd>
<dd><code>java.io.UnsupportedEncodingException</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.NotFound</code></dd>
<dd><code>org.dataone.service.exceptions.NotImplemented</code></dd>
</dl>
</li>
</ul>
<a name="lookupOreFor-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupOreFor</h4>
<pre>public&nbsp;java.util.List&lt;org.dataone.service.types.v1.Identifier&gt;&nbsp;lookupOreFor(org.dataone.service.types.v1.Session&nbsp;session,
                                                                            org.dataone.service.types.v1.Identifier&nbsp;guid,
                                                                            boolean&nbsp;includeObsolete)</pre>
<div class="block">Determines if we already have registered an ORE map for this package
 NOTE: uses a solr query to locate OREs for the object</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - of the EML/packaging object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of resource map identifiers for the given pid</dd>
</dl>
</li>
</ul>
<a name="getPackage-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPackage</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;getPackage(org.dataone.service.types.v1.Session&nbsp;session,
                                      org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;formatId,
                                      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.InvalidRequest,
                                      org.dataone.service.exceptions.NotImplemented,
                                      org.dataone.service.exceptions.NotFound</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getPackage</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.v2.MNPackage</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="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, where the object is either a 
 data object or a science metadata object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>archive</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier3.v2.MNStorage</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 archived</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pid - the identifier of the object used for the archiving</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="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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>updateSystemMetadata</code>&nbsp;in interface&nbsp;<code>org.dataone.service.mn.tier3.v2.MNStorage</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="getStatus-org.dataone.service.types.v1.Session-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatus</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;getStatus(org.dataone.service.types.v1.Session&nbsp;session)
                              throws org.dataone.service.exceptions.NotAuthorized,
                                     org.dataone.service.exceptions.ServiceFailure</pre>
<div class="block">Get the status of the system. this is an unofficial dataone api method. Currently we only reply the size of the index queue.
 The method will return the input stream of a xml instance. In the future, we need to
 add a new dataone type to represent the result.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the input stream which is the xml presentation of the status report</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd>
<dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd>
</dl>
</li>
</ul>
<a name="getCurrentNodeId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentNodeId</h4>
<pre>protected&nbsp;org.dataone.service.types.v1.NodeReference&nbsp;getCurrentNodeId()</pre>
</li>
</ul>
<a name="isAuthoritativeNode-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAuthoritativeNode</h4>
<pre>protected&nbsp;boolean&nbsp;isAuthoritativeNode(org.dataone.service.types.v1.Identifier&nbsp;pid)
                               throws org.dataone.service.exceptions.InvalidRequest</pre>
<div class="block">Determine if the current node is the authoritative node for the given pid.
 (uses HZsysmeta map)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd>
</dl>
</li>
</ul>
<a name="isReadOnlyMode--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isReadOnlyMode</h4>
<pre>protected&nbsp;boolean&nbsp;isReadOnlyMode()</pre>
<div class="block">Check if the metacat is in the read-only mode.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if it is; otherwise false.</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/MNodeService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/DOIService.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/ObjectFormatService.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/MNodeService.html" target="_top">Frames</a></li>
<li><a href="MNodeService.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>