1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace Aws\EndpointV2\Rule;
- use Aws\EndpointV2\Ruleset\RulesetStandardLibrary;
- /**
- * A rule within a rule set. All rules contain a conditions property,
- * which can be empty, and documentation about the rule.
- */
- abstract class AbstractRule
- {
- private $conditions;
- private $documentation;
- public function __construct(array $definition)
- {
- $this->conditions = $definition['conditions'];
- $this->documentation = isset($definition['documentation']) ?
- $definition['documentation'] : null;
- }
- /**
- * @return array
- */
- public function getConditions()
- {
- return $this->conditions;
- }
- /**
- * @return mixed
- */
- public function getDocumentation()
- {
- return $this->documentation;
- }
- /**
- * Determines if all conditions for a given rule are met.
- *
- * @return boolean
- */
- protected function evaluateConditions(
- array &$inputParameters,
- RulesetStandardLibrary $standardLibrary
- )
- {
- foreach($this->getConditions() as $condition) {
- $result = $standardLibrary->callFunction($condition, $inputParameters);
- if (is_null($result) || $result === false) {
- return false;
- }
- }
- return true;
- }
- abstract public function evaluate(
- array $inputParameters,
- RulesetStandardLibrary $standardLibrary
- );
- }
|