Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Component/Plugin/Context/ContextDefinitionInterface.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Component\Plugin\Context; /** * Interface used to define definition objects found in ContextInterface. * * @see \Drupal\Component\Plugin\Context\ContextInterface * * @todo WARNING: This interface is going to receive some additions as part of * https://www.drupal.org/node/2346999. */ interface ContextDefinitionInterface { /** * Gets a human readable label. * * @return string * The label. */ public function getLabel(); /** * Sets the human readable label. * * @param string $label * The label to set. * * @return $this */ public function setLabel($label); /** * Gets a human readable description. * * @return string|null * The description, or NULL if no description is available. */ public function getDescription(); /** * Sets the human readable description. * * @param string|null $description * The description to set. * * @return $this */ public function setDescription($description); /** * Gets the data type needed by the context. * * If the context is multiple-valued, this represents the type of each value. * * @return string * The data type. */ public function getDataType(); /** * Sets the data type needed by the context. * * @param string $data_type * The data type to set. * * @return $this */ public function setDataType($data_type); /** * Determines whether the data is multi-valued, i.e. a list of data items. * * @return bool * Whether the data is multi-valued; i.e. a list of data items. */ public function isMultiple(); /** * Sets whether the data is multi-valued. * * @param bool $multiple * (optional) Whether the data is multi-valued. Defaults to TRUE. * * @return $this */ public function setMultiple($multiple = TRUE); /** * Determines whether the context is required. * * For required data a non-NULL value is mandatory. * * @return bool * Whether a data value is required. */ public function isRequired(); /** * Sets whether the data is required. * * @param bool $required * (optional) Whether the data is multi-valued. Defaults to TRUE. * * @return $this */ public function setRequired($required = TRUE); /** * Gets the default value for this context definition. * * @return mixed * The default value or NULL if no default value is set. */ public function getDefaultValue(); /** * Sets the default data value. * * @param mixed $default_value * The default value to be set or NULL to remove any default value. * * @return $this */ public function setDefaultValue($default_value); /** * Gets an array of validation constraints. * * @return array * An array of validation constraint definitions, keyed by constraint name. * Each constraint definition can be used for instantiating * \Symfony\Component\Validator\Constraint objects. */ public function getConstraints(); /** * Sets the array of validation constraints. * * NOTE: This will override any previously set constraints. In most cases * ContextDefinitionInterface::addConstraint() should be used instead. * * @param array $constraints * The array of constraints. * * @return $this * * @see self::addConstraint() */ public function setConstraints(array $constraints); /** * Adds a validation constraint. * * @param string $constraint_name * The name of the constraint to add, i.e. its plugin id. * @param array|null $options * The constraint options as required by the constraint plugin, or NULL. * * @return $this */ public function addConstraint($constraint_name, $options = NULL); /** * Gets a validation constraint. * * @param string $constraint_name * The name of the constraint, i.e. its plugin id. * * @return array * A validation constraint definition which can be used for instantiating a * \Symfony\Component\Validator\Constraint object. */ public function getConstraint($constraint_name); }