2 namespace Workspace\Utility;
7 * Build a useful parameter object to be used by service nodes.
14 * @var \Workspace\Utility\Param
21 * @param array $fromArray
22 * @param array $booleanIfIsset
23 * @return \Workspace\Utility\ServiceInput
25 public function __construct($type = 'ParamSet', array $fromArray = array(), array $booleanIfIsset = array())
27 $this->obj = 'ParamSet' == $type
29 : new ServiceInputParams();
30 if (!empty($fromArray))
32 $this->fromArray($fromArray);
34 if (!empty($booleanIfIsset))
36 $this->booleanIfIsset($booleanIfIsset);
42 * Add parameters from an array.
44 * @return \Workspace\Utility\ServiceInput
46 public function fromArray(array $data)
48 foreach ($data as $key => $item)
50 $this->obj->$key = $item;
56 * Add bolean parameters from an array.
57 * @param array|string $data
58 * @return \Workspace\Utility\ServiceInput
60 public function booleanIfIsset($data)
63 || $data = array($data => true);
64 foreach ($data as $key => $item)
66 $this->obj->$key = true;
72 * Pack parameter set and return parameter object.
73 * @return \Workspace\Utility\Param
75 public function pack()
85 * Service input parameter utility to keep options.
86 * @author andre.fourie
88 class ServiceInputParams
92 * If value is not set, return false by default.
96 public function __get($name)
101 public function success($message = '', array $data = array())
104 'RequestId' => $this->requestId,
105 'Hash' => $this->hash,
106 'Status' => 'Success',
107 'Message' => $message,
112 public function error($reason = '', $message = '', array $data = array())
115 'RequestId' => $this->requestId,
116 'Hash' => $this->hash,
118 'StatusReason' => $reason,
119 'Message' => $message,
124 public function deviceSuccess($message = '', array $data = array())
128 'Status' => 'Success',
129 'Message' => $message
135 public function deviceError($reason = '', $message = '', array $data = array())
140 'StatusReason' => $reason,
141 'Message' => $message