values[$key])) { if (in_array($key, $this->values)) { // case of mixing key <> display value, correct it $key = array_search($key, $this->values); } else { $this->displayValue = $displayValue; //throw new \Exception("Invalid Enum key: $key\n". print_r(debug_backtrace(), true)); } } $this->key = $key; $this->displayValue = ! empty($displayValue) ? $displayValue : (isset($this->values[$key]) ? $this->values[$key] : ''); unset($this->values); } public function getDisplayValue() { return $this->displayValue; } public function setDisplayValue($displayValue) { $this->displayValue = $displayValue; } public function toString() { return $this->jsonString; } public function getPrimarySubValue() { return $this->key; } }