€cdocutils.nodes
document
q)q}q(U	nametypesq}qX#���apis internal to coordinating nodesqNsUsubstitution_defsq}qUparse_messagesq	]q
Ucurrent_sourceqNU
decorationqNUautofootnote_startq
KUnameidsq}qhU#apis-internal-to-coordinating-nodesqsUchildrenq]qcdocutils.nodes
section
q)q}q(U	rawsourceqU�UparentqhUsourceqXj���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/apis/CN_internal_APIs.txtqUtagnameqUsectionqU
attributesq}q(Udupnamesq]Uclassesq]Ubackrefsq ]Uidsq!]q"haUnamesq#]q$hauUlineq%KUdocumentq&hh]q'(cdocutils.nodes
title
q()q)}q*(hX#���APIs Internal to Coordinating Nodesq+hhhhhUtitleq,h}q-(h]h]h ]h!]h#]uh%Kh&hh]q.cdocutils.nodes
Text
q/X#���APIs Internal to Coordinating Nodesq0…q1}q2(hh+hh)ubaubcdocutils.nodes
paragraph
q3)q4}q5(hXã���The DataONE Coordinating Nodes are composed of several components that by their
nature will be operating in different JVMs. This document outlines the methods
that are exposed by the different components in a Coordinating Node.q6hhhhhU	paragraphq7h}q8(h]h]h ]h!]h#]uh%Kh&hh]q9h/X��The DataONE Coordinating Nodes are composed of several components that by their
nature will be operating in different JVMs. This document outlines the methods
that are exposed by the different components in a Coordinating Node.q:…q;}q<(hh6hh4ubaubcdocutils.nodes
literal_block
q=)q>}q?(hX‡��boolean identity.isPublic(Subject)

boolean identity.isGroup(Subject)

Subject[] identity.getSubjectGroups(Subject)

XML objectStore.getSystemMetadata(Identifier)

OctetStream objectStore.get(Identifier)

boolean objectStore.registerSystemMetadata(Identifier, SystemMetadata)

CN_crud.updateReplicaMetadata(token, pid, Types.ReplicaMetadata) -> Types.Identifier

 full replacement of ReplicaMetadata, changes date sysmeta modified


CN_crud.setAccessPolicy(token, pid, AccessPolicy) -> boolean

  RE /access/pid (body containing token, AccessPolicy) -> boolean
  changes date sysmeta modified too

CN_crud.setReplicationPolicy(token, pid, ReplicationPolicy) -> boolean
REST API: PUT /replication/pid (body containing token, ReplicationPolicy) -> boolean
   - changes date sysmeta modified too


CN.setDescribes()

   describes can be set in its own method, but only with write access to
   described object and describing object

   may want to relax the requirement later to allow third party
   annotations/perspectives/derivations on other people's data, but need to be
   able to differentiate the primary provider's description from these other
   descriptions

CN.setDescribedBy()
   describedBy can be set in its own method, but only with write access to described object


ObjectList getDescribes(Identifier)

ObjectList getDescribedBy(Identifier)

ObjectList getRelatedObjects(Identifier, RelationshipEnum)hhhhhU
literal_blockq@h}qA(U	xml:spaceqBUpreserveqCh!]h ]h]h]h#]uh%Kh&hh]qDh/X‡��boolean identity.isPublic(Subject)

boolean identity.isGroup(Subject)

Subject[] identity.getSubjectGroups(Subject)

XML objectStore.getSystemMetadata(Identifier)

OctetStream objectStore.get(Identifier)

boolean objectStore.registerSystemMetadata(Identifier, SystemMetadata)

CN_crud.updateReplicaMetadata(token, pid, Types.ReplicaMetadata) -> Types.Identifier

 full replacement of ReplicaMetadata, changes date sysmeta modified


CN_crud.setAccessPolicy(token, pid, AccessPolicy) -> boolean

  RE /access/pid (body containing token, AccessPolicy) -> boolean
  changes date sysmeta modified too

CN_crud.setReplicationPolicy(token, pid, ReplicationPolicy) -> boolean
REST API: PUT /replication/pid (body containing token, ReplicationPolicy) -> boolean
   - changes date sysmeta modified too


CN.setDescribes()

   describes can be set in its own method, but only with write access to
   described object and describing object

   may want to relax the requirement later to allow third party
   annotations/perspectives/derivations on other people's data, but need to be
   able to differentiate the primary provider's description from these other
   descriptions

CN.setDescribedBy()
   describedBy can be set in its own method, but only with write access to described object


ObjectList getDescribes(Identifier)

ObjectList getDescribedBy(Identifier)

ObjectList getRelatedObjects(Identifier, RelationshipEnum)qE…qF}qG(hU�hh>ubaubeubahU�UtransformerqHNU
footnote_refsqI}qJUrefnamesqK}qLUsymbol_footnotesqM]qNUautofootnote_refsqO]qPUsymbol_footnote_refsqQ]qRU	citationsqS]qTh&hUcurrent_lineqUNUtransform_messagesqV]qWUreporterqXNUid_startqYKU
autofootnotesqZ]q[U
citation_refsq\}q]Uindirect_targetsq^]q_Usettingsq`(cdocutils.frontend
Values
qaoqb}qc(Ufootnote_backlinksqdKUrecord_dependenciesqeNUrfc_base_urlqfUhttps://tools.ietf.org/html/qgU	tracebackqhˆUpep_referencesqiNUstrip_commentsqjNU
toc_backlinksqkUentryqlU
language_codeqmUenqnU	datestampqoNUreport_levelqpKU_destinationqqNU
halt_levelqrKU
strip_classesqsNh,NUerror_encoding_error_handlerqtUbackslashreplacequUdebugqvNUembed_stylesheetqw‰Uoutput_encoding_error_handlerqxUstrictqyU
sectnum_xformqzKUdump_transformsq{NU
docinfo_xformq|KUwarning_streamq}NUpep_file_url_templateq~Upep-%04dqUexit_status_levelq€KUconfigqNUstrict_visitorq‚NUcloak_email_addressesqƒˆUtrim_footnote_reference_spaceq„‰Uenvq…NUdump_pseudo_xmlq†NUexpose_internalsq‡NUsectsubtitle_xformqˆ‰Usource_linkq‰NUrfc_referencesqŠNUoutput_encodingq‹Uutf-8qŒU
source_urlqNUinput_encodingqŽU	utf-8-sigqU_disable_configqNU	id_prefixq‘U�U	tab_widthq’KUerror_encodingq“UUTF-8q”U_sourceq•hUgettext_compactq–ˆU	generatorq—NUdump_internalsq˜NUsmart_quotesq™‰Upep_base_urlqšU https://www.python.org/dev/peps/q›Usyntax_highlightqœUlongqUinput_encoding_error_handlerqžhyUauto_id_prefixqŸUidq Udoctitle_xformq¡‰Ustrip_elements_with_classesq¢NU
_config_filesq£]Ufile_insertion_enabledq¤ˆUraw_enabledq¥KU
dump_settingsq¦NubUsymbol_footnote_startq§K�Uidsq¨}q©hhsUsubstitution_namesqª}q«hh&h}q¬(h]h!]h ]Usourcehh]h#]uU	footnotesq­]q®Urefidsq¯}q°ub.