Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
<?php | |
declare(strict_types=1); | |
namespace Korobochkin\WPKit\DataComponents; | |
use Symfony\Component\Form\DataTransformerInterface; | |
use Symfony\Component\Validator\ConstraintValidatorInterface; | |
use Symfony\Component\Validator\ConstraintViolationInterface; | |
use Symfony\Component\Validator\Validator\ValidatorInterface; | |
interface NodeInterface | |
{ | |
/** | |
* The main method to retrieve value. | |
* | |
* Should always returns the value of this node. | |
* | |
* @return mixed Value of this node. | |
*/ | |
public function get(); | |
/** | |
* Alias for $this->setLocalValue(). | |
* | |
* @param $value mixed A value for this node. | |
* | |
* @return $this For chain calls. | |
*/ | |
public function set($value); | |
/** | |
* Returns node name which can be used in functions like update_option(option_name). | |
* | |
* @return string | |
*/ | |
public function getName(); | |
/** | |
* Setup node name, required for each node. | |
* | |
* @param $name string Node name. | |
* | |
* @return $this For chain calls. | |
*/ | |
public function setName($name); | |
/** | |
* Get a local value. | |
* | |
* @return mixed Local value. | |
*/ | |
public function getLocalValue(); | |
/** | |
* Save value in this instance but not actually in DB. | |
* | |
* You can setup local value via this method, validate it and push to the DB if needed or just | |
* delete it (set to null). To save value in DB you need call $this->flush(). | |
* | |
* @param $value mixed Value which need to be stored in this instance. | |
* | |
* @return $this For chain calls. | |
*/ | |
public function setLocalValue($value); | |
/** | |
* Returns a default value for this instance or null if it not setted up. | |
* | |
* @return mixed Default value for this instance. | |
*/ | |
public function getDefaultValue(); | |
/** | |
* Setup default value for instance. This value should be returned (used) by default if value | |
* not exists in WordPress DB. | |
* | |
* @param $defaultValue mixed Value which need to be stored as default value for this instance. | |
* | |
* @return $this For chain calls. | |
*/ | |
public function setDefaultValue($defaultValue); | |
/** | |
* Returns set of Constraints (or just one) for Validator. | |
* | |
* @return ConstraintValidatorInterface[]|ConstraintValidatorInterface Constraint which defines | |
* how to validate your value. | |
*/ | |
public function getConstraint(); | |
/** | |
* Setup set of Constraints (or just one) for Validator. | |
* | |
* @param $constraints ConstraintValidatorInterface[]|ConstraintValidatorInterface Set of constraints | |
* with validator rules. | |
* | |
* @return $this For chain calls. | |
*/ | |
public function setConstraint($constraints); | |
/** | |
* This function automatically builds the set of constraints for your instance and return it. | |
* | |
* Because constraints is a instances of classes with custom constructors is much better init them on demand (only | |
* if they needed right now). So you can easily describe how to build your constraints here and that's all. | |
* | |
* After init them you should save it. Example: $this->setConstraint($this->buildConstraint()). | |
* | |
* @return ConstraintValidatorInterface|ConstraintValidatorInterface[] Constraints for this instance. | |
*/ | |
public function buildConstraint(); | |
/** | |
* Validator can validate your value of this instance. This method returns validator. | |
* | |
* @return ValidatorInterface Symfony's validator which work with Constraints. | |
*/ | |
public function getValidator(); | |
/** | |
* Setup your Symfony Validator. | |
* | |
* @param ValidatorInterface $validator Validator which should validate values. | |
* | |
* @return $this For chain calls. | |
*/ | |
public function setValidator(ValidatorInterface $validator); | |
/** | |
* Returns an array with Violations after validating. | |
* | |
* May returns empty array if validation was successful. | |
* | |
* @throws \Exception Different exceptions can be throw by Symfony Validator. Usually this happens if value | |
* have a non expected variable type. | |
* | |
* @return ConstraintViolationInterface[] Array of validation results. | |
*/ | |
public function validate(); | |
/** | |
* Returns boolean flag which means is your validation successful or not. | |
* | |
* @return bool True means all is ok, False otherwise. | |
*/ | |
public function isValid(); | |
/** | |
* Performs fully deletion of option. | |
* | |
* Values in DB and value in this object will be deleted. Default value not deleted by this method. | |
* | |
* @return bool Result of deletion. | |
*/ | |
public function delete(); | |
/** | |
* Performs deletion of value in this instance. | |
* | |
* @return true Always true after resetting local value. | |
*/ | |
public function deleteLocal(); | |
/** | |
* Returns the data transformer which transform the data. | |
* | |
* @return DataTransformerInterface | |
*/ | |
public function getDataTransformer(); | |
/** | |
* Sets the data transformer. | |
* | |
* @param DataTransformerInterface $transformer | |
* | |
* @return $this For chain calls. | |
*/ | |
public function setDataTransformer(DataTransformerInterface $transformer); | |
} |