You are here

interface TransactionInterface in Transaction 8

The interface for transaction entities.

Hierarchy

Expanded class hierarchy of TransactionInterface

All classes that implement TransactionInterface

6 files declare their use of TransactionInterface
BalanceTransactor.php in src/Plugin/Transaction/BalanceTransactor.php
GenericTransactor.php in src/Plugin/Transaction/GenericTransactor.php
transaction.module in ./transaction.module
Transaction.php in src/Entity/Transaction.php
TransactionExecute.php in src/Plugin/RulesAction/TransactionExecute.php

... See full list

File

src/TransactionInterface.php, line 12

Namespace

Drupal\transaction
View source
interface TransactionInterface extends ContentEntityInterface, EntityOwnerInterface {

  /**
   * Transaction executed state.
   */
  const EXECUTED = 1;

  /**
   * Transaction pending state.
   */
  const PENDING = 0;

  /**
   * Generic result code for successful execution.
   *
   * @deprecated in transaction:8.x-1.0-alpha3 and is removed from
   *   transaction:8.x-1.0-beta1. Use instead defined const in
   *   \Drupal\transaction\TransactorPluginInterface and derived transactors.
   */
  const RESULT_OK = 1;

  /**
   * Generic result code for failed execution.
   *
   * @deprecated in transaction:8.x-1.0-alpha3 and is removed from
   *   transaction:8.x-1.0-beta1. Use instead defined const in
   *   \Drupal\transaction\TransactorPluginInterface and derived transactors.
   */
  const RESULT_ERROR = -1;

  /**
   * Name of property indicating that the target entity was updated.
   *
   * @var string
   */
  const PROPERTY_TARGET_ENTITY_UPDATED = 'transaction_target_entity_updated';

  /**
   * Returns the transaction type ID.
   *
   * @return string
   *   The transaction type.
   */
  public function getTypeId();

  /**
   * Returns the transaction type.
   *
   * @return \Drupal\transaction\TransactionTypeInterface
   *   The transaction type.
   */
  public function getType();

  /**
   * Gets the transaction creation timestamp.
   *
   * @return int
   *   The creation timestamp.
   */
  public function getCreatedTime();

  /**
   * Sets the transaction creation timestamp.
   *
   * @param int $timestamp
   *   The subscription creation timestamp.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction entity.
   */
  public function setCreatedTime($timestamp);

  /**
   * Get the previous same-type transaction in order of execution.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The previously executed transaction. NULL if this is the first one.
   *
   * @throws \Drupal\transaction\InvalidTransactionStateException
   *   If the transaction was not executed yet.
   */
  public function getPrevious();

  /**
   * Get the next same-type transaction in order of execution.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The previously executed transaction. NULL if this is the last executed.
   *
   * @throws \Drupal\transaction\InvalidTransactionStateException
   *   If the transaction was not executed yet.
   */
  public function getNext();

  /**
   * Get the transaction target entity.
   *
   * @return \Drupal\Core\Entity\ContentEntityInterface
   *   The transaction's target entity.
   */
  public function getTargetEntity();

  /**
   * Get the transaction target entity ID.
   *
   * @return int
   *   The transaction's target entity ID.
   */
  public function getTargetEntityId();

  /**
   * Sets the transaction's target entity.
   *
   * @param \Drupal\Core\Entity\ContentEntityInterface $entity
   *   The target content entity.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction entity.
   *
   * @throws \InvalidArgumentException
   *   If the type of the given entity is not valid for the transaction type.
   */
  public function setTargetEntity(ContentEntityInterface $entity);

  /**
   * Gets the transaction operation.
   *
   * @return \Drupal\transaction\TransactionOperationInterface
   *   The transaction operation for this transaction. NULL if not set.
   */
  public function getOperation();

  /**
   * Gets the transaction operation ID.
   *
   * @return string
   *   The transaction operation for this transaction. NULL if not set.
   */
  public function getOperationId();

  /**
   * Sets the transaction operation.
   *
   * @param string|\Drupal\transaction\TransactionOperationInterface $operation
   *   (optional) The transaction operation config entity or its ID. Defaults
   *     to NULL that clears the current value.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction.
   */
  public function setOperation($operation = NULL);

  /**
   * Returns the transaction description.
   *
   * Transactors compose the description based on the transaction data.
   *
   * @param bool $reset
   *   Forces to recompose the transaction description.
   *
   * @return string
   *   The transaction description.
   */
  public function getDescription($reset = FALSE);

  /**
   * Returns the transaction details.
   *
   * Transactors compose datails based on the transaction data.
   *
   * @param bool $reset
   *   Forces to recompose the transaction details.
   *
   * @return string[]
   *   An array with details.
   */
  public function getDetails($reset = FALSE);

  /**
   * Returns a property value.
   *
   * @param string $key
   *   Property key to get.
   *
   * @return string
   *   The value of the given key, NULL if not set.
   */
  public function getProperty($key);

  /**
   * Sets a property value.
   *
   * @param string $key
   *   Property key.
   * @param string $value
   *   Value to store. NULL will delete the property.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction.
   */
  public function setProperty($key, $value = NULL);

  /**
   * Get a keyed array with all the transaction properties.
   *
   * @return array
   *   Array with all defined properties. Empty array if no one defined.
   */
  public function getProperties();

  /**
   * Executes the transaction.
   *
   * The execution result code will be set or changed.
   *
   * @param bool $save
   *   (optional) Save the transaction after succeeded execution.
   * @param \Drupal\User\UserInterface $executor
   *   (optional) The user that executes the transaction. Current user by
   *   default.
   *
   * @return bool
   *   TRUE if transaction was executed, FALSE otherwise.
   *
   * @throws \Drupal\transaction\InvalidTransactionStateException
   *   If the transaction is already executed.
   *
   * @see \Drupal\transaction\TransactionInterface::getResultCode()
   */
  public function execute($save = TRUE, UserInterface $executor = NULL);

  /**
   * Gets the execution result code.
   *
   * Positive integer means that the execution was successful:
   *  - 1: generic code for successful execution, @see
   *       \Drupal\transaction\TransactorPluginInterface::RESULT_OK
   *  - > 1: transactor specific successful execution result code.
   *
   * Negative integer means that there were errors trying to execute the
   * transaction:
   *  - -1: generic code for failed execution, @see
   *        \Drupal\transaction\TransactorPluginInterface::RESULT_ERROR
   *  - < -1: transactor specific failed execution result code
   *
   * Errors can be recoverable or fatal. If transaction is still pending
   * execution, there was a recoverable error and the execution can be retried.
   * If transaction is in executed state, there was a fatal error and the
   * execution cannot be retried.
   *
   * @return int
   *   The result code. FALSE if transaction execution was never called.
   */
  public function getResultCode();

  /**
   * Sets the execution result code.
   *
   * @param int $code
   *   The result code.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction.
   *
   * @see \Drupal\transaction\TransactionInterface::getResultCode()
   */
  public function setResultCode($code);

  /**
   * Gets the execution result message.
   *
   * Transactors compose the result message based on the result code.
   *
   * @param bool $reset
   *   Forces to recompose the result message.
   *
   * @return string
   *   The execution result message. FALSE if transaction execution was never
   *   called.
   */
  public function getResultMessage($reset = FALSE);

  /**
   * Gets the transaction execution sequence.
   *
   * @return int|null
   *   The execution sequence number, NULL for non-executed transactions.
   */
  public function getExecutionSequence();

  /**
   * Sets the execution sequence number.
   *
   * @param int|null $execution_sequence
   *   The execution sequence number, NULL to unset the existing value.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction.
   *
   * @throws \InvalidArgumentException
   *   When the sequence number is lower than 1.
   */
  public function setExecutionSequence($execution_sequence);

  /**
   * Gets the transaction execution timestamp.
   *
   * @return int
   *   The execution timestamp. NULL if transaction was no executed.
   */
  public function getExecutionTime();

  /**
   * Sets the transaction execution timestamp.
   *
   * @param int $timestamp
   *   The execution timestamp.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction.
   */
  public function setExecutionTime($timestamp);

  /**
   * Gets the ID of the user that executed the transaction.
   *
   * @return int
   *   The user ID of the executor. FALSE if transaction was no executed.
   */
  public function getExecutorId();

  /**
   * Gets the user that executed the transaction.
   *
   * @return \Drupal\User\UserInterface
   *   The executor user. NULL if transaction was no executed.
   */
  public function getExecutor();

  /**
   * Sets the user that executed the transaction.
   *
   * @param \Drupal\User\UserInterface $user
   *   The executor user.
   *
   * @return \Drupal\transaction\TransactionInterface
   *   The called transaction.
   */
  public function setExecutor(UserInterface $user);

  /**
   * Indicates if the transaction is pending execution.
   *
   * @return bool
   *   TRUE on pending execution, FALSE if execution was done successfully.
   */
  public function isPending();

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::link Deprecated public function Deprecated way of generating a link to the entity. See toLink(). 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::url Deprecated public function Gets the public URL for this entity. 2
EntityInterface::urlInfo Deprecated public function Gets the URL object for the entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
EntityOwnerInterface::getOwner public function Returns the entity owner's user entity. 1
EntityOwnerInterface::getOwnerId public function Returns the entity owner's user ID. 1
EntityOwnerInterface::setOwner public function Sets the entity owner's user entity. 1
EntityOwnerInterface::setOwnerId public function Sets the entity owner's user ID. 1
FieldableEntityInterface::baseFieldDefinitions public static function Provides base field definitions for an entity type. 2
FieldableEntityInterface::bundleFieldDefinitions public static function Provides field definitions for a specific bundle. 2
FieldableEntityInterface::get public function Gets a field item list. 1
FieldableEntityInterface::getFieldDefinition public function Gets the definition of a contained field. 1
FieldableEntityInterface::getFieldDefinitions public function Gets an array of field definitions of all contained fields. 1
FieldableEntityInterface::getFields public function Gets an array of all field item lists. 1
FieldableEntityInterface::getTranslatableFields public function Gets an array of field item lists for translatable fields. 1
FieldableEntityInterface::hasField public function Determines whether the entity has a field with the given name. 1
FieldableEntityInterface::isValidationRequired public function Checks whether entity validation is required before saving the entity. 1
FieldableEntityInterface::onChange public function Reacts to changes to a field. 1
FieldableEntityInterface::set public function Sets a field value. 1
FieldableEntityInterface::setValidationRequired public function Sets whether entity validation is required before saving the entity. 1
FieldableEntityInterface::toArray public function Gets an array of all field values. Overrides EntityInterface::toArray
FieldableEntityInterface::validate public function Validates the currently set values. 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
RevisionableInterface::getLoadedRevisionId public function Gets the loaded Revision ID of the entity. 1
RevisionableInterface::getRevisionId public function Gets the revision identifier of the entity. 1
RevisionableInterface::isDefaultRevision public function Checks if this entity is the default revision. 1
RevisionableInterface::isLatestRevision public function Checks if this entity is the latest revision. 1
RevisionableInterface::isNewRevision public function Determines whether a new revision should be created on save. 1
RevisionableInterface::preSaveRevision public function Acts on a revision before it gets saved. 1
RevisionableInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 1
RevisionableInterface::updateLoadedRevisionId public function Updates the loaded Revision ID with the revision ID. 1
RevisionableInterface::wasDefaultRevision public function Checks whether the entity object was a default revision when it was saved. 1
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization. 1
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag. 1
TransactionInterface::execute public function Executes the transaction. 1
TransactionInterface::EXECUTED constant Transaction executed state.
TransactionInterface::getCreatedTime public function Gets the transaction creation timestamp. 1
TransactionInterface::getDescription public function Returns the transaction description. 1
TransactionInterface::getDetails public function Returns the transaction details. 1
TransactionInterface::getExecutionSequence public function Gets the transaction execution sequence. 1
TransactionInterface::getExecutionTime public function Gets the transaction execution timestamp. 1
TransactionInterface::getExecutor public function Gets the user that executed the transaction. 1
TransactionInterface::getExecutorId public function Gets the ID of the user that executed the transaction. 1
TransactionInterface::getNext public function Get the next same-type transaction in order of execution. 1
TransactionInterface::getOperation public function Gets the transaction operation. 1
TransactionInterface::getOperationId public function Gets the transaction operation ID. 1
TransactionInterface::getPrevious public function Get the previous same-type transaction in order of execution. 1
TransactionInterface::getProperties public function Get a keyed array with all the transaction properties. 1
TransactionInterface::getProperty public function Returns a property value. 1
TransactionInterface::getResultCode public function Gets the execution result code. 1
TransactionInterface::getResultMessage public function Gets the execution result message. 1
TransactionInterface::getTargetEntity public function Get the transaction target entity. 1
TransactionInterface::getTargetEntityId public function Get the transaction target entity ID. 1
TransactionInterface::getType public function Returns the transaction type. 1
TransactionInterface::getTypeId public function Returns the transaction type ID. 1
TransactionInterface::isPending public function Indicates if the transaction is pending execution. 1
TransactionInterface::PENDING constant Transaction pending state.
TransactionInterface::PROPERTY_TARGET_ENTITY_UPDATED constant Name of property indicating that the target entity was updated.
TransactionInterface::RESULT_ERROR Deprecated constant Generic result code for failed execution.
TransactionInterface::RESULT_OK Deprecated constant Generic result code for successful execution.
TransactionInterface::setCreatedTime public function Sets the transaction creation timestamp. 1
TransactionInterface::setExecutionSequence public function Sets the execution sequence number. 1
TransactionInterface::setExecutionTime public function Sets the transaction execution timestamp. 1
TransactionInterface::setExecutor public function Sets the user that executed the transaction. 1
TransactionInterface::setOperation public function Sets the transaction operation. 1
TransactionInterface::setProperty public function Sets a property value. 1
TransactionInterface::setResultCode public function Sets the execution result code. 1
TransactionInterface::setTargetEntity public function Sets the transaction's target entity. 1
TranslatableInterface::addTranslation public function Adds a new translation to the translatable object. 1
TranslatableInterface::getTranslation public function Gets a translation of the data. 1
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 1
TranslatableInterface::getUntranslated public function Returns the translatable object referring to the original language. 1
TranslatableInterface::hasTranslation public function Checks there is a translation for the given language code. 1
TranslatableInterface::hasTranslationChanges public function Determines if the current translation of the entity has unsaved changes. 1
TranslatableInterface::isDefaultTranslation public function Checks whether the translation is the default one. 1
TranslatableInterface::isNewTranslation public function Checks whether the translation is new. 1
TranslatableInterface::isTranslatable public function Returns the translation support status. 1
TranslatableInterface::removeTranslation public function Removes the translation identified by the given language code. 1
TranslatableRevisionableInterface::isDefaultTranslationAffectedOnly public function Checks if untranslatable fields should affect only the default translation. 1
TranslatableRevisionableInterface::isLatestTranslationAffectedRevision public function Checks whether this is the latest revision affecting this translation. 1
TranslatableRevisionableInterface::isRevisionTranslationAffected public function Checks whether the current translation is affected by the current revision. 1
TranslatableRevisionableInterface::isRevisionTranslationAffectedEnforced public function Checks if the revision translation affected flag value has been enforced. 1
TranslatableRevisionableInterface::setRevisionTranslationAffected public function Marks the current revision translation as affected. 1
TranslatableRevisionableInterface::setRevisionTranslationAffectedEnforced public function Enforces the revision translation affected flag value. 1