public class ClassifyEntityDetail extends ClassifyEntity
Transaction function for adding / updating a classification to an entity.
  • Field Details

    • FUNCTION_NAME

      public static final clojure.lang.Keyword FUNCTION_NAME
  • Constructor Details

    • ClassifyEntityDetail

      public ClassifyEntityDetail(Long txId, clojure.lang.PersistentHashMap existing, String userId, String entityGUID, String metadataCollectionId, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties properties) throws Exception
      Constructor used to execute the transaction function.
      Parameters:
      txId - the transaction ID of this function invocation
      existing - XTDB document to update
      userId - doing the update
      entityGUID - of the entity to update
      metadataCollectionId - of the metadata collection in which the transaction is running
      classificationName - name of the classification
      externalSourceGUID - unique identifier for the external source
      externalSourceName - unique name for the external source
      classificationOrigin - source of the classification (assigned or propagated)
      classificationOriginGUID - unique identifier of the entity that propagated the classification (if propagated)
      properties - the properties to set on the classification
      Throws:
      Exception - on any error
  • Method Details

    • transact

      public static EntityDetail transact(XTDBOMRSRepositoryConnector xtdb, String userId, String entityGUID, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties properties) throws EntityNotKnownException, InvalidParameterException, ClassificationErrorException, PropertyErrorException, RepositoryErrorException
      Update the status of the provided entity instance in the XTDB repository by pushing the transaction down into the repository itself.
      Parameters:
      xtdb - connectivity
      userId - doing the update
      entityGUID - of the entity on which to update the status
      classificationName - name of the classification
      externalSourceGUID - unique identifier for the external source
      externalSourceName - unique name for the external source
      classificationOrigin - source of the classification (assigned or propagated)
      classificationOriginGUID - unique identifier of the entity that propagated the classification (if propagated)
      properties - the properties to set on the classification
      Returns:
      EntityDetail of the entity with the new status applied
      Throws:
      EntityNotKnownException - if the entity cannot be found
      InvalidParameterException - if the entity exists but cannot be updated (deleted, reference copy, etc)
      ClassificationErrorException - if there is any issue related to the classification
      PropertyErrorException - one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type
      RepositoryErrorException - on any other error
    • doc

      public clojure.lang.IPersistentMap doc()
      Interface that returns the updated document to write-back from the transaction.
      Returns:
      IPersistentMap giving the updated 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 which to create the function