You are here

public function PaymentAwarePluginInstance::setValue in Payment 8.2

Sets the data value.

Parameters

mixed|null $value: The value to set in the format as documented for the data type or NULL to unset the data value.

bool $notify: (optional) Whether to notify the parent object of the change. Defaults to TRUE. If a property is updated from a parent object, set it to FALSE to avoid being notified again.

Throws

\InvalidArgumentException If the value input is inappropriate.

\Drupal\Core\TypedData\Exception\ReadOnlyException If the data is read-only.

Overrides PluginInstance::setValue

File

src/Plugin/DataType/PaymentAwarePluginInstance.php, line 22

Class

PaymentAwarePluginInstance
Provides a payment-aware plugin instance data type.

Namespace

Drupal\payment\Plugin\DataType

Code

public function setValue($value, $notify = TRUE) {
  if ($value instanceof PaymentAwareInterface) {
    $data = $this;
    while ($data = $data
      ->getParent()) {
      if ($data instanceof PaymentInterface) {
        $value
          ->setPayment($data);
        break;
      }
    }
  }
  parent::setValue($value, $notify);
}