namibia
1074a2d61ec9d93a0ac7e0181875a2202b1225c4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
<?php namespace Workspace\UseCase; /** * Base condition set container. * @author andre.fourie */ abstract class ConditionBase { /** * Usefull constants */ const BASE_OR = 'or'; const BASE_AND = 'and'; /** * @var string */ protected $base; /** * @var array */ protected $conditionSet = array(); /** * Retrieve condition set. * @return array */ public function getPrerequisites() { return array( 'Operator' => $this->base, 'Conditions' => $this->conditionSet ); } /** * Add sub condition(s). * @param \Workspace\UseCase\ConditionBase $condition * @return \Workspace\UseCase\ConditionBase */ public function addSubGroup(\Workspace\UseCase\ConditionBase $condition) { $this->conditionSet[] = $condition->getPrerequisites(); return $this; } /** * Equals. * @param string $input * @param unknown $value * @return \Workspace\UseCase\ConditionBase */ public function equal($input, $value) { return $this->addCondition('=', $input, $value); } /** * Not equals. * @param string $input * @param unknown $value * @return \Workspace\UseCase\ConditionBase */ public function notEqual($input, $value) { return $this->addCondition('!=', $input, $value); } /** * Smaller than. * @param string $input * @param unknown $value * @return \Workspace\UseCase\ConditionBase */ public function smallerThan($input, $value) { return $this->addCondition('<', $input, $value); } /** * Greater than. * @param string $input * @param unknown $value * @return \Workspace\UseCase\ConditionBase */ public function greaterThan($input, $value) { return $this->addCondition('>', $input, $value); } /** * Is one of the specified values. * @param string $input * @param array $value * @return \Workspace\UseCase\ConditionBase */ public function oneOf($input, array $value) { return $this->addCondition('IN', $input, $value); } /** * Not one of the specified values. * @param string $input * @param array $value * @return \Workspace\UseCase\ConditionBase */ public function notOneOf($input, array $value) { return $this->addCondition('NOT IN', $input, $value); } /** * Add new condition. * @param string $op * @param string $input * @param unknown $value * @return \Workspace\UseCase\ConditionBase */ protected function addCondition($op, $input, $value) { $this->conditionSet[] = array( 'Input' => $input, 'Operator' => $op, 'Value' => $value ); return $this; } } |
Commits for namibia/module/Workspace/src/Workspace/UseCase/ConditionBase.php
Revision | Author | Commited | Message |
---|---|---|---|
df0489 ... | Mark | Fri 14 Oct, 2016 10:01:00 +0000 | initial commit |