<!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>IdentifierManager (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="IdentifierManager (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":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":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/IdentifierManager.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/EventLogFilter.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/ucsb/nceas/metacat/IndexingQueue.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/ucsb/nceas/metacat/IdentifierManager.html" target="_top">Frames</a></li>
<li><a href="IdentifierManager.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</div>
<h2 title="Class IdentifierManager" class="title">Class IdentifierManager</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>edu.ucsb.nceas.metacat.IdentifierManager</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">IdentifierManager</span>
extends java.lang.Object</pre>
<div class="block">Manage the relationship between Metacat local identifiers (LocalIDs) that are
 codified as the (docid, rev) pair with globally unique string identifiers
 (GUIDs) that are opaque strings.  This class provides methods to manage these
 identifiers, and to search for and look up LocalIDs based on their GUID and
 vice versa. IdentifierManager is a singleton.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Matthew Jones</dd>
</dl>
</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/IdentifierManager.html#TYPE_IDENTIFIER">TYPE_IDENTIFIER</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/IdentifierManager.html#TYPE_SYSTEM_METADATA">TYPE_SYSTEM_METADATA</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&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>java.util.List&lt;org.dataone.service.types.v1.Permission&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#convertPermission-int-">convertPermission</a></span>(int&nbsp;permission)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#convertPermission-org.dataone.service.types.v1.Permission-">convertPermission</a></span>(org.dataone.service.types.v1.Permission&nbsp;permission)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#createMapping-java.lang.String-java.lang.String-">createMapping</a></span>(java.lang.String&nbsp;guid,
             java.lang.String&nbsp;localId)</code>
<div class="block">create a mapping in the identifier table</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#deleteSystemMetadata-java.lang.String-">deleteSystemMetadata</a></span>(java.lang.String&nbsp;guid)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#existsInIdentifierTable-org.dataone.service.types.v1.Identifier-">existsInIdentifierTable</a></span>(org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Determine if the given pid exists on the identifier table.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#existsInXmlLRevisionTable-java.lang.String-int-">existsInXmlLRevisionTable</a></span>(java.lang.String&nbsp;docid,
                         int&nbsp;rev)</code>
<div class="block">IF the given localId exists on the xml_revisions table</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#generateLocalId-java.lang.String-int-">generateLocalId</a></span>(java.lang.String&nbsp;guid,
               int&nbsp;rev)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#generateLocalId-java.lang.String-int-boolean-">generateLocalId</a></span>(java.lang.String&nbsp;guid,
               int&nbsp;rev,
               boolean&nbsp;isSystemMetadata)</code>
<div class="block">Given a global identifier (guid), create a suitable local identifier that
 follows Metacat's docid semantics and format (scope.id.rev), and create
 a mapping between these two identifiers.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.AccessPolicy</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getAccessPolicy-java.lang.String-">getAccessPolicy</a></span>(java.lang.String&nbsp;guid)</code>
<div class="block">Lookup access policy from Metacat</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getAllLocalIds--">getAllLocalIds</a></span>()</code>
<div class="block">return a listing of all local ids in the object store</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getAllSystemMetadataGUIDs--">getAllSystemMetadataGUIDs</a></span>()</code>
<div class="block">return a listing of all guids in the object store</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getGUID-java.lang.String-int-">getGUID</a></span>(java.lang.String&nbsp;docid,
       int&nbsp;rev)</code>
<div class="block">given a local identifer, look up the guid.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getGUIDs-java.lang.String-java.lang.String-java.lang.String-">getGUIDs</a></span>(java.lang.String&nbsp;formatId,
        java.lang.String&nbsp;nodeId,
        java.lang.String&nbsp;scheme)</code>
<div class="block">Get the list of identifiers which system metadata matches the given format id and original member node id and guid or series id start with the scheme (doi for example).</div>
</td>
</tr>
<tr id="i13" 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/IdentifierManager.html#getHeadPID-org.dataone.service.types.v1.Identifier-">getHeadPID</a></span>(org.dataone.service.types.v1.Identifier&nbsp;sid)</code>
<div class="block">Get the pid of the head (current) version of objects match the specified sid.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html" title="class in edu.ucsb.nceas.metacat">IdentifierManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getInstance--">getInstance</a></span>()</code>
<div class="block">Return the single instance of the manager after initializing it if it
 wasn't previously initialized.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getLastModifiedDate--">getLastModifiedDate</a></span>()</code>
<div class="block">returns a list of system metadata-only guids since the given date</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getLatestRevForLocalId-java.lang.String-">getLatestRevForLocalId</a></span>(java.lang.String&nbsp;localId)</code>
<div class="block">return the newest rev for a given localId</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getLocalId-java.lang.String-">getLocalId</a></span>(java.lang.String&nbsp;guid)</code>
<div class="block">Lookup a localId given the GUID.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getLocalIdsWithNoSystemMetadata-boolean-int-">getLocalIdsWithNoSystemMetadata</a></span>(boolean&nbsp;includeRevisions,
                               int&nbsp;serverLocation)</code>
<div class="block">return all local ids in the object store that do not have associated
 system metadata</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getObjectFilePath-java.lang.String-boolean-">getObjectFilePath</a></span>(java.lang.String&nbsp;localId,
                 boolean&nbsp;isScienceMetadata)</code>
<div class="block">Get the the file path for the given object local id</div>
</td>
</tr>
<tr id="i20" 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/IdentifierManager.html#getSystemMetadata-java.lang.String-">getSystemMetadata</a></span>(java.lang.String&nbsp;guid)</code>
<div class="block">return a hash of all of the info that is in the systemmetadata table</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#getUpdatedSystemMetadataIds-java.util.Date-">getUpdatedSystemMetadataIds</a></span>(java.util.Date&nbsp;since)</code>
<div class="block">returns a list of system metadata-only guids since the given date</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#identifierExists-java.lang.String-">identifierExists</a></span>(java.lang.String&nbsp;guid)</code>
<div class="block">Determine if an identifier exists already, returning true if so.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#insertOrUpdateSystemMetadata-org.dataone.service.types.v2.SystemMetadata-">insertOrUpdateSystemMetadata</a></span>(org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)</code>
<div class="block">creates a system metadata mapping and adds additional fields from sysmeta
 to the table for quick searching.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#mappingExists-java.lang.String-">mappingExists</a></span>(java.lang.String&nbsp;guid)</code>
<div class="block">Determine if an identifier mapping exists already, 
 returning true if so.</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/IdentifierManager.html#objectFileExists-java.lang.String-boolean-">objectFileExists</a></span>(java.lang.String&nbsp;localId,
                boolean&nbsp;isScienceMetadata)</code>
<div class="block">Determine if the object file exist for the given localId.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>org.dataone.service.types.v1.ObjectList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#querySystemMetadata-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.NodeReference-int-int-org.dataone.service.types.v1.Identifier-boolean-">querySystemMetadata</a></span>(java.util.Date&nbsp;startTime,
                   java.util.Date&nbsp;endTime,
                   org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;objectFormatId,
                   org.dataone.service.types.v1.NodeReference&nbsp;nodeId,
                   int&nbsp;start,
                   int&nbsp;count,
                   org.dataone.service.types.v1.Identifier&nbsp;identifier,
                   boolean&nbsp;isSID)</code>
<div class="block">query the systemmetadata table based on the given parameters</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#removeMapping-java.lang.String-java.lang.String-">removeMapping</a></span>(java.lang.String&nbsp;guid,
             java.lang.String&nbsp;localId)</code>
<div class="block">remove a mapping in the identifier table</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#systemMetadataPIDExists-org.dataone.service.types.v1.Identifier-">systemMetadataPIDExists</a></span>(org.dataone.service.types.v1.Identifier&nbsp;pid)</code>
<div class="block">Determine if the specified identifier object exists or not.</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/IdentifierManager.html#systemMetadataPIDExists-java.lang.String-">systemMetadataPIDExists</a></span>(java.lang.String&nbsp;guid)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#systemMetadataSIDExists-org.dataone.service.types.v1.Identifier-">systemMetadataSIDExists</a></span>(org.dataone.service.types.v1.Identifier&nbsp;sid)</code>
<div class="block">Check if the specified sid object exists on the serial id field on the system metadata table</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#systemMetadataSIDExists-java.lang.String-">systemMetadataSIDExists</a></span>(java.lang.String&nbsp;sid)</code>
<div class="block">Check if the specified sid exists on the serial id field on the system metadata table</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#updateAuthoritativeMemberNodeId-java.lang.String-java.lang.String-">updateAuthoritativeMemberNodeId</a></span>(java.lang.String&nbsp;existingMemberNodeId,
                               java.lang.String&nbsp;newMemberNodeId)</code>&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#updateMapping-java.lang.String-java.lang.String-">updateMapping</a></span>(java.lang.String&nbsp;guid,
             java.lang.String&nbsp;localId)</code>
<div class="block">update a mapping</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html#updateSystemMetadata-org.dataone.service.types.v2.SystemMetadata-edu.ucsb.nceas.metacat.database.DBConnection-">updateSystemMetadata</a></span>(org.dataone.service.types.v2.SystemMetadata&nbsp;sm,
                    <a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a>&nbsp;dbConn)</code>
<div class="block">Insert the system metadata fields into the db</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="TYPE_SYSTEM_METADATA">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TYPE_SYSTEM_METADATA</h4>
<pre>public static final&nbsp;java.lang.String TYPE_SYSTEM_METADATA</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.IdentifierManager.TYPE_SYSTEM_METADATA">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TYPE_IDENTIFIER">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TYPE_IDENTIFIER</h4>
<pre>public static final&nbsp;java.lang.String TYPE_IDENTIFIER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.IdentifierManager.TYPE_IDENTIFIER">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--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static&nbsp;<a href="../../../../edu/ucsb/nceas/metacat/IdentifierManager.html" title="class in edu.ucsb.nceas.metacat">IdentifierManager</a>&nbsp;getInstance()</pre>
<div class="block">Return the single instance of the manager after initializing it if it
 wasn't previously initialized.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the single IdentifierManager instance</dd>
</dl>
</li>
</ul>
<a name="getSystemMetadata-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemMetadata</h4>
<pre>public&nbsp;org.dataone.service.types.v2.SystemMetadata&nbsp;getSystemMetadata(java.lang.String&nbsp;guid)
                                                              throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></pre>
<div class="block">return a hash of all of the info that is in the systemmetadata table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd>
</dl>
</li>
</ul>
<a name="getLatestRevForLocalId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLatestRevForLocalId</h4>
<pre>public&nbsp;int&nbsp;getLatestRevForLocalId(java.lang.String&nbsp;localId)
                           throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></pre>
<div class="block">return the newest rev for a given localId</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>localId</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd>
</dl>
</li>
</ul>
<a name="getLocalIdsWithNoSystemMetadata-boolean-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalIdsWithNoSystemMetadata</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getLocalIdsWithNoSystemMetadata(boolean&nbsp;includeRevisions,
                                                                        int&nbsp;serverLocation)</pre>
<div class="block">return all local ids in the object store that do not have associated
 system metadata</div>
</li>
</ul>
<a name="getAllLocalIds--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllLocalIds</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getAllLocalIds()</pre>
<div class="block">return a listing of all local ids in the object store</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of all local ids in metacat</dd>
</dl>
</li>
</ul>
<a name="getAllSystemMetadataGUIDs--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllSystemMetadataGUIDs</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getAllSystemMetadataGUIDs()</pre>
<div class="block">return a listing of all guids in the object store</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of all GUIDs in metacat</dd>
</dl>
</li>
</ul>
<a name="getUpdatedSystemMetadataIds-java.util.Date-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdatedSystemMetadataIds</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getUpdatedSystemMetadataIds(java.util.Date&nbsp;since)
                                                             throws java.lang.Exception</pre>
<div class="block">returns a list of system metadata-only guids since the given date</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of system ids in metacat that do not correspond to objects
 TODO: need to check which server they are on</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="getLastModifiedDate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastModifiedDate</h4>
<pre>public&nbsp;java.util.Date&nbsp;getLastModifiedDate()
                                   throws java.lang.Exception</pre>
<div class="block">returns a list of system metadata-only guids since the given date</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of system ids in metacat that do not correspond to objects
 TODO: need to check which server they are on</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="identifierExists-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifierExists</h4>
<pre>public&nbsp;boolean&nbsp;identifierExists(java.lang.String&nbsp;guid)
                         throws java.sql.SQLException</pre>
<div class="block">Determine if an identifier exists already, returning true if so.
 NOTE: looks in the identifier and system metadata table for a match
 (in that order)  Can return true for both PIDs and SIDs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - the global identifier to look up</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean true if the identifier exists</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="mappingExists-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mappingExists</h4>
<pre>public&nbsp;boolean&nbsp;mappingExists(java.lang.String&nbsp;guid)
                      throws java.sql.SQLException</pre>
<div class="block">Determine if an identifier mapping exists already, 
 returning true if so.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - the global identifier to look up</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean true if the identifier exists</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="generateLocalId-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generateLocalId</h4>
<pre>public&nbsp;java.lang.String&nbsp;generateLocalId(java.lang.String&nbsp;guid,
                                        int&nbsp;rev)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - </dd>
<dd><code>rev</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="generateLocalId-java.lang.String-int-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generateLocalId</h4>
<pre>public&nbsp;java.lang.String&nbsp;generateLocalId(java.lang.String&nbsp;guid,
                                        int&nbsp;rev,
                                        boolean&nbsp;isSystemMetadata)</pre>
<div class="block">Given a global identifier (guid), create a suitable local identifier that
 follows Metacat's docid semantics and format (scope.id.rev), and create
 a mapping between these two identifiers.  This effectively reserves both
 the global and the local identifier, as they will now be present in the
 identifier mapping table.  
 
 REMOVED feature: If the incoming guid has the syntax of a
 Metacat docid (scope.id.rev), then simply use it.
 WHY: because "test.1.001" becomes "test.1.1" which is not correct for DataONE
 identifier use (those revision numbers are just chartacters and should not be interpreted)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - the global string identifier</dd>
<dd><code>rev</code> - the revision number to be used in the localId</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String containing the localId to be used for Metacat operations</dd>
</dl>
</li>
</ul>
<a name="getGUID-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGUID</h4>
<pre>public&nbsp;java.lang.String&nbsp;getGUID(java.lang.String&nbsp;docid,
                                int&nbsp;rev)
                         throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></pre>
<div class="block">given a local identifer, look up the guid.  Throw McdbDocNotFoundException
 if the docid, rev is not found in the identifiers or systemmetadata tables</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>docid</code> - the docid to look up</dd>
<dd><code>rev</code> - the revision of the docid to look up</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String containing the mapped guid</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code> - if the docid, rev is not found</dd>
</dl>
</li>
</ul>
<a name="getGUIDs-java.lang.String-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGUIDs</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getGUIDs(java.lang.String&nbsp;formatId,
                                                 java.lang.String&nbsp;nodeId,
                                                 java.lang.String&nbsp;scheme)</pre>
<div class="block">Get the list of identifiers which system metadata matches the given format id and original member node id and guid or series id start with the scheme (doi for example).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>formatId</code> - the format id of the identifier must match the given formatId.</dd>
<dd><code>nodeId</code> - the original member node of the identifier must match the given nodeId.</dd>
<dd><code>scheme</code> - the guid or series id must start with the given scheme (doi for exampe)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of identifier string. An empty list will be returned if nothing was found.</dd>
</dl>
</li>
</ul>
<a name="getHeadPID-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeadPID</h4>
<pre>public&nbsp;org.dataone.service.types.v1.Identifier&nbsp;getHeadPID(org.dataone.service.types.v1.Identifier&nbsp;sid)
                                                   throws java.sql.SQLException</pre>
<div class="block">Get the pid of the head (current) version of objects match the specified sid.
 1. locate all candidate chain-ends for S1:
      determined by:  seriesId == S1 AND (obsoletedBy == null  OR obsoletedBy.seriesId != S1) // these are the type1 and type2 ends
      If obsoletedBy is missing, we generally consider it a type 2 end except:
      there is another object in the chain (has the same series id) that obsoletes the missing object. 
 2. if only 1 candidate chain-end, return it as the HEAD
 3. otherwise return the one in the chain with the latest dateUploaded value. However, we find that dateUpload doesn't refect the obsoletes information
 (espically on the cn), so we will check osoletes information as well. https://redmine.dataone.org/issues/7624</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sid</code> - specified sid which should match.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the pid of the head version. The null will be returned if there is no pid found.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="systemMetadataSIDExists-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>systemMetadataSIDExists</h4>
<pre>public&nbsp;boolean&nbsp;systemMetadataSIDExists(org.dataone.service.types.v1.Identifier&nbsp;sid)
                                throws java.sql.SQLException</pre>
<div class="block">Check if the specified sid object exists on the serial id field on the system metadata table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sid</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if it exists; false otherwise.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="systemMetadataSIDExists-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>systemMetadataSIDExists</h4>
<pre>public&nbsp;boolean&nbsp;systemMetadataSIDExists(java.lang.String&nbsp;sid)
                                throws java.sql.SQLException</pre>
<div class="block">Check if the specified sid exists on the serial id field on the system metadata table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if it exists; false otherwise.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="systemMetadataPIDExists-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>systemMetadataPIDExists</h4>
<pre>public&nbsp;boolean&nbsp;systemMetadataPIDExists(org.dataone.service.types.v1.Identifier&nbsp;pid)
                                throws java.sql.SQLException</pre>
<div class="block">Determine if the specified identifier object exists or not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - - the specified identifier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if it is exists.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
<dd><code>java.lang.NullPointerException</code></dd>
</dl>
</li>
</ul>
<a name="systemMetadataPIDExists-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>systemMetadataPIDExists</h4>
<pre>public&nbsp;boolean&nbsp;systemMetadataPIDExists(java.lang.String&nbsp;guid)
                                throws java.sql.SQLException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="insertOrUpdateSystemMetadata-org.dataone.service.types.v2.SystemMetadata-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>insertOrUpdateSystemMetadata</h4>
<pre>public&nbsp;void&nbsp;insertOrUpdateSystemMetadata(org.dataone.service.types.v2.SystemMetadata&nbsp;sysmeta)
                                  throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a>,
                                         java.sql.SQLException,
                                         org.dataone.service.exceptions.InvalidSystemMetadata</pre>
<div class="block">creates a system metadata mapping and adds additional fields from sysmeta
 to the table for quick searching.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - the id to insert</dd>
<dd><code>localId</code> - the systemMetadata object to get the local id for</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd>
<dd><code>java.sql.SQLException</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd>
</dl>
</li>
</ul>
<a name="updateMapping-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateMapping</h4>
<pre>public&nbsp;void&nbsp;updateMapping(java.lang.String&nbsp;guid,
                          java.lang.String&nbsp;localId)</pre>
<div class="block">update a mapping</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - </dd>
<dd><code>localId</code> - </dd>
</dl>
</li>
</ul>
<a name="updateSystemMetadata-org.dataone.service.types.v2.SystemMetadata-edu.ucsb.nceas.metacat.database.DBConnection-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateSystemMetadata</h4>
<pre>public&nbsp;void&nbsp;updateSystemMetadata(org.dataone.service.types.v2.SystemMetadata&nbsp;sm,
                                 <a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a>&nbsp;dbConn)
                          throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a>,
                                 java.sql.SQLException,
                                 org.dataone.service.exceptions.InvalidSystemMetadata,
                                 <a href="../../../../edu/ucsb/nceas/metacat/shared/AccessException.html" title="class in edu.ucsb.nceas.metacat.shared">AccessException</a></pre>
<div class="block">Insert the system metadata fields into the db</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sm</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd>
<dd><code>java.sql.SQLException</code></dd>
<dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/shared/AccessException.html" title="class in edu.ucsb.nceas.metacat.shared">AccessException</a></code></dd>
</dl>
</li>
</ul>
<a name="getAccessPolicy-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccessPolicy</h4>
<pre>public&nbsp;org.dataone.service.types.v1.AccessPolicy&nbsp;getAccessPolicy(java.lang.String&nbsp;guid)
                                                          throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a>,
                                                                 <a href="../../../../edu/ucsb/nceas/metacat/shared/AccessException.html" title="class in edu.ucsb.nceas.metacat.shared">AccessException</a></pre>
<div class="block">Lookup access policy from Metacat</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code></dd>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/shared/AccessException.html" title="class in edu.ucsb.nceas.metacat.shared">AccessException</a></code></dd>
</dl>
</li>
</ul>
<a name="convertPermission-org.dataone.service.types.v1.Permission-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertPermission</h4>
<pre>public&nbsp;int&nbsp;convertPermission(org.dataone.service.types.v1.Permission&nbsp;permission)</pre>
</li>
</ul>
<a name="convertPermission-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertPermission</h4>
<pre>public&nbsp;java.util.List&lt;org.dataone.service.types.v1.Permission&gt;&nbsp;convertPermission(int&nbsp;permission)</pre>
</li>
</ul>
<a name="getLocalId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalId</h4>
<pre>public&nbsp;java.lang.String&nbsp;getLocalId(java.lang.String&nbsp;guid)
                            throws <a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a>,
                                   java.sql.SQLException</pre>
<div class="block">Lookup a localId given the GUID. If
 the identifier is not found, throw an exception.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - the global identifier to look up</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String containing the corresponding LocalId</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbDocNotFoundException.html" title="class in edu.ucsb.nceas.metacat">McdbDocNotFoundException</a></code> - if the identifier is not found</dd>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="querySystemMetadata-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.NodeReference-int-int-org.dataone.service.types.v1.Identifier-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>querySystemMetadata</h4>
<pre>public&nbsp;org.dataone.service.types.v1.ObjectList&nbsp;querySystemMetadata(java.util.Date&nbsp;startTime,
                                                                   java.util.Date&nbsp;endTime,
                                                                   org.dataone.service.types.v1.ObjectFormatIdentifier&nbsp;objectFormatId,
                                                                   org.dataone.service.types.v1.NodeReference&nbsp;nodeId,
                                                                   int&nbsp;start,
                                                                   int&nbsp;count,
                                                                   org.dataone.service.types.v1.Identifier&nbsp;identifier,
                                                                   boolean&nbsp;isSID)
                                                            throws java.sql.SQLException,
                                                                   edu.ucsb.nceas.utilities.PropertyNotFoundException,
                                                                   <a href="../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></pre>
<div class="block">query the systemmetadata table based on the given parameters</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>startTime</code> - </dd>
<dd><code>endTime</code> - </dd>
<dd><code>objectFormat</code> - </dd>
<dd><code>nodeId</code> - </dd>
<dd><code>start</code> - </dd>
<dd><code>count</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ObjectList</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/shared/ServiceException.html" title="class in edu.ucsb.nceas.metacat.shared">ServiceException</a></code></dd>
<dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd>
</dl>
</li>
</ul>
<a name="createMapping-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMapping</h4>
<pre>public&nbsp;void&nbsp;createMapping(java.lang.String&nbsp;guid,
                          java.lang.String&nbsp;localId)</pre>
<div class="block">create a mapping in the identifier table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - </dd>
<dd><code>localId</code> - </dd>
</dl>
</li>
</ul>
<a name="removeMapping-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeMapping</h4>
<pre>public&nbsp;void&nbsp;removeMapping(java.lang.String&nbsp;guid,
                          java.lang.String&nbsp;localId)</pre>
<div class="block">remove a mapping in the identifier table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>guid</code> - </dd>
<dd><code>localId</code> - </dd>
</dl>
</li>
</ul>
<a name="deleteSystemMetadata-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteSystemMetadata</h4>
<pre>public&nbsp;boolean&nbsp;deleteSystemMetadata(java.lang.String&nbsp;guid)</pre>
</li>
</ul>
<a name="updateAuthoritativeMemberNodeId-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAuthoritativeMemberNodeId</h4>
<pre>public&nbsp;void&nbsp;updateAuthoritativeMemberNodeId(java.lang.String&nbsp;existingMemberNodeId,
                                            java.lang.String&nbsp;newMemberNodeId)</pre>
</li>
</ul>
<a name="objectFileExists-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectFileExists</h4>
<pre>public&nbsp;boolean&nbsp;objectFileExists(java.lang.String&nbsp;localId,
                                boolean&nbsp;isScienceMetadata)
                         throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre>
<div class="block">Determine if the object file exist for the given localId.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>localId</code> - </dd>
<dd><code>isScienceMetadata</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd>
</dl>
</li>
</ul>
<a name="getObjectFilePath-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectFilePath</h4>
<pre>public&nbsp;java.lang.String&nbsp;getObjectFilePath(java.lang.String&nbsp;localId,
                                          boolean&nbsp;isScienceMetadata)
                                   throws edu.ucsb.nceas.utilities.PropertyNotFoundException</pre>
<div class="block">Get the the file path for the given object local id</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>localId</code> - </dd>
<dd><code>isScienceMetadata</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd>
</dl>
</li>
</ul>
<a name="existsInXmlLRevisionTable-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>existsInXmlLRevisionTable</h4>
<pre>public&nbsp;boolean&nbsp;existsInXmlLRevisionTable(java.lang.String&nbsp;docid,
                                         int&nbsp;rev)
                                  throws java.sql.SQLException</pre>
<div class="block">IF the given localId exists on the xml_revisions table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>localId</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="existsInIdentifierTable-org.dataone.service.types.v1.Identifier-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>existsInIdentifierTable</h4>
<pre>public&nbsp;boolean&nbsp;existsInIdentifierTable(org.dataone.service.types.v1.Identifier&nbsp;pid)
                                throws java.sql.SQLException</pre>
<div class="block">Determine if the given pid exists on the identifier table.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - must be a PID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if it exists; false otherwise.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IdentifierManager.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/EventLogFilter.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/ucsb/nceas/metacat/IndexingQueue.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/ucsb/nceas/metacat/IdentifierManager.html" target="_top">Frames</a></li>
<li><a href="IdentifierManager.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>