Class PurgeEntity
java.lang.Object
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.AbstractTransactionFunction
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.PurgeEntity
Transaction function for hard-deleting an entity.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionPurgeEntity
(Long txId, clojure.lang.PersistentHashMap existing, String deletedEntityGUID, boolean force) Constructor used to execute the transaction function. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
create
(xtdb.api.tx.Transaction.Builder tx) Create the transaction function within XTDB.clojure.lang.IPersistentMap
doc()
Interface that returns the document about to be evicted (purged).static void
transactWithoutValidation
(XTDBOMRSRepositoryConnector xtdb, String entityGUID) Permanently delete the entity (and all of its history) from the XTDB repository by pushing down the transaction.static void
transactWithValidation
(XTDBOMRSRepositoryConnector xtdb, String entityGUID) Permanently delete the entity (and all of its history) from the XTDB repository by pushing down the transaction.Methods inherited from class org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.AbstractTransactionFunction
createTransactionFunction, getGUID, getInstanceProvenanceType, getMetadataCollectionId, getTxnTimeCalculation, getTypeDefForInstance, getTypeDefGUID, incrementVersion, incrementVersion
-
Field Details
-
FUNCTION_NAME
public static final clojure.lang.Keyword FUNCTION_NAME
-
-
Constructor Details
-
PurgeEntity
public PurgeEntity(Long txId, clojure.lang.PersistentHashMap existing, String deletedEntityGUID, boolean force) throws Exception Constructor used to execute the transaction function.- Parameters:
txId
- the transaction ID of this function invocationexisting
- XTDB document to updatedeletedEntityGUID
- of the entity to purgeforce
- if true do not validate whether the entity is soft-deleted prior to purging it- Throws:
Exception
- on any error
-
-
Method Details
-
transactWithValidation
public static void transactWithValidation(XTDBOMRSRepositoryConnector xtdb, String entityGUID) throws EntityNotKnownException, EntityNotDeletedException, RepositoryErrorException Permanently delete the entity (and all of its history) from the XTDB repository by pushing down the transaction. Note that this operation is NOT reversible!- Parameters:
xtdb
- connectivityentityGUID
- of the entity to permanently delete- Throws:
EntityNotKnownException
- if the entity cannot be foundEntityNotDeletedException
- if the entity exists but is not in a soft-deleted stateRepositoryErrorException
- on any other error
-
transactWithoutValidation
public static void transactWithoutValidation(XTDBOMRSRepositoryConnector xtdb, String entityGUID) throws EntityNotKnownException, RepositoryErrorException Permanently delete the entity (and all of its history) from the XTDB repository by pushing down the transaction. Note that this operation is NOT reversible!- Parameters:
xtdb
- connectivityentityGUID
- of the entity to permanently delete- Throws:
EntityNotKnownException
- if the entity cannot be foundRepositoryErrorException
- on any other error
-
doc
public clojure.lang.IPersistentMap doc()Interface that returns the document about to be evicted (purged).- Returns:
- IPersistentMap giving the purged document in its entirety
-
create
public static void create(xtdb.api.tx.Transaction.Builder tx) Create the transaction function within XTDB.- Parameters:
tx
- transaction through whic to create the function
-