public class UpdateRelationshipProperties 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

    • UpdateRelationshipProperties

      public UpdateRelationshipProperties(Long txId, clojure.lang.PersistentHashMap existing, String userId, String relationshipGUID, 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
      relationshipGUID - of the relationship to update
      metadataCollectionId - of the metadata collection in which the transaction is running
      properties - to apply to the relationship
      Throws:
      Exception - on any error
  • Method Details

    • transact

      Update the properties of the provided relationship instance in the XTDB repository by pushing the transaction down into the repository itself.
      Parameters:
      xtdb - connectivity
      userId - doing the update
      relationshipGUID - of the relationship on which to update the properties
      properties - to apply to the relationship
      Returns:
      Relationship with the new properties applied
      Throws:
      RelationshipNotKnownException - if the relationship cannot be found
      InvalidParameterException - if the relationship 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 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