public class UpdateEntityProperties extends UpdateInstanceProperties
Transaction function for updating InstanceProperties on a metadata instance.
  • Field Details

    • FUNCTION_NAME

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

    • UpdateEntityProperties

      public UpdateEntityProperties(Long txId, clojure.lang.PersistentHashMap existing, String userId, String entityGUID, String metadataCollectionId, 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
      properties - to apply to the entity
      Throws:
      Exception - on any error
  • Method Details

    • transact

      Update the properties 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 properties
      properties - to apply to the entity
      Returns:
      EntityDetail of the entity with the new properties applied
      Throws:
      EntityNotKnownException - if the entity cannot be found
      InvalidParameterException - if the entity exists but cannot be updated (deleted, reference copy, etc)
      PropertyErrorException - one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this instance's 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