Interface FedoraToOcflObjectIndex

All Known Implementing Classes:
DbFedoraToOcflObjectIndex, FedoraToOcflObjectIndexMetrics

public interface FedoraToOcflObjectIndex
Since:
6.0.0
Author:
dbernstein
  • Method Summary

    Modifier and Type
    Method
    Description
    addMapping(org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier, org.fcrepo.kernel.api.identifiers.FedoraId fedoraRootObjectIdentifier, String ocflObjectId)
    Adds a mapping to the index
    void
    Clear all transactions in the ocfl index.
    void
    commit(org.fcrepo.kernel.api.Transaction session)
    Commit mapping changes for the session.
    getMapping(org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier)
    Retrieve identification information for the OCFL object which either contains, or is identified by, the provided fedora resource id.
    void
    removeMapping(org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier)
    Removes a mapping
    void
    Remove all persistent state associated with the index.
    void
    rollback(org.fcrepo.kernel.api.Transaction session)
    Rollback mapping changes for the session.
  • Method Details

    • getMapping

      FedoraOcflMapping getMapping(org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier) throws FedoraOcflMappingNotFoundException
      Retrieve identification information for the OCFL object which either contains, or is identified by, the provided fedora resource id. In other words the method will find the closest resource that is persisted as an OCFL object and returns its identifiers. If you pass fedora identifier that is not part of an archival group such as "my/fedora/binary/fcr:metadata" the fedora resource returned in the mapping will be "my/fedora/binary". Contrast this with an Archival Group example: if you pass in "my/archival-group/binary/fcr:metadata" the resource returned in the mapping would be "my/archival-group".
      Parameters:
      session - the current session, or null for read-only.
      fedoraResourceIdentifier - the fedora resource identifier
      Returns:
      the mapping
      Throws:
      FedoraOcflMappingNotFoundException - when no mapping exists for the specified identifier.
    • addMapping

      FedoraOcflMapping addMapping(@Nonnull org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier, org.fcrepo.kernel.api.identifiers.FedoraId fedoraRootObjectIdentifier, String ocflObjectId)
      Adds a mapping to the index
      Parameters:
      session - the current session.
      fedoraResourceIdentifier - The fedora resource
      fedoraRootObjectIdentifier - The identifier of the root fedora object resource
      ocflObjectId - The ocfl object id
      Returns:
      The newly created mapping
    • removeMapping

      void removeMapping(@Nonnull org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier)
      Removes a mapping
      Parameters:
      session - the current session.
      fedoraResourceIdentifier - The fedora resource to remove the mapping for
    • reset

      void reset()
      Remove all persistent state associated with the index.
    • commit

      void commit(@Nonnull org.fcrepo.kernel.api.Transaction session)
      Commit mapping changes for the session.
      Parameters:
      session - the session to commit.
    • rollback

      void rollback(@Nonnull org.fcrepo.kernel.api.Transaction session)
      Rollback mapping changes for the session.
      Parameters:
      session - the session to rollback.
    • clearAllTransactions

      Clear all transactions in the ocfl index.