Package org.fcrepo.persistence.ocfl.api
Interface FedoraToOcflObjectIndex
- All Known Implementing Classes:
DbFedoraToOcflObjectIndex,FedoraToOcflObjectIndexMetrics
public interface FedoraToOcflObjectIndex
- Since:
- 6.0.0
- Author:
- dbernstein
-
Method Summary
Modifier and TypeMethodDescriptionaddMapping(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 indexvoidClear all transactions in the ocfl index.voidcommit(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.voidremoveMapping(org.fcrepo.kernel.api.Transaction session, org.fcrepo.kernel.api.identifiers.FedoraId fedoraResourceIdentifier) Removes a mappingvoidreset()Remove all persistent state associated with the index.voidrollback(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 resourcefedoraRootObjectIdentifier- The identifier of the root fedora object resourceocflObjectId- 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
Commit mapping changes for the session.- Parameters:
session- the session to commit.
-
rollback
Rollback mapping changes for the session.- Parameters:
session- the session to rollback.
-
clearAllTransactions
void clearAllTransactions()Clear all transactions in the ocfl index.
-