name = $name; $this->value = $value; } public $name; public $value; public function getDefaultValue() { $default = null; if (key_exists('DefaultValues', $this->data)) { $default = $this->data['DefaultValues']->Value; } return in_array($default, $this->getValidValues()) ? $default : null; } public function getValidValues() { $data = array(); if (key_exists('ValidValues', $this->data)) { $data = array(); if (is_object($this->data['ValidValues']->ValidValue)) { $data[$this->data['ValidValues']->ValidValue->Label] = $this->data['ValidValues']->ValidValue->Value; } else { foreach ($this->data['ValidValues']->ValidValue AS $value) { $data[$value->Label] = $value->Value; } } if (!empty($this->data['AllowBlank'])) { $data['AllowBlank'] = ''; } } return $data; } public function hasDependencies() { return (isset($this->data['Dependencies']->Dependency) && !empty($this->data['Dependencies']->Dependency)); } public function getDependencies() { return (array) $this->data['Dependencies']->Dependency; } public function hasOutstandingDependencies() { return ($this->getState() == 'HasOutstandingDependencies'); } public function getState() { return key_exists('State', $this->data) ? $this->data['State'] : null; } public function isMultiValue() { return !empty($this->data['MultiValue']); } }