9 if (is_array($this->elements)) {
10 foreach ($this->elements as $id => $element) {
11 $this->elements[$id] = clone $element;
26 parent::setDefinition($a_def);
28 $this->elements = array();
60 return array_key_exists($a_name, $this->elements);
66 return $this->elements[$a_name];
114 return array_keys((array) $this->validation_errors);
119 $this->validation_errors[(string) $a_error_code] = $a_element_id;
124 $valid = parent::isValid();
127 foreach ($this->
getElements() as $element_id => $element) {
128 if (!$element->isValid()) {
129 foreach ($element->getValidationErrors() as $error) {
142 if (isset($this->validation_errors[$a_code])) {
143 $element_id = $this->validation_errors[$a_code];
146 return $element->translateErrorCode($a_code);
159 $tmp[] = $element->getCheckSum();
161 return md5(implode(
",", $tmp));
171 foreach ($this->
getElements() as $id => $element) {
172 $obj->$id = $element->exportStdClass();
179 if (is_object($a_std)) {
180 foreach ($this->
getElements() as $id => $element) {
181 $element->importStdClass($a_std->$id);
An exception for terminatinating execution or to throw for unit testing.
ADT definition base class.
static getInstance()
Get singleton.
isLarger(ilADT $a_adt)
Check if given ADT is larger than self.
addElement($a_name, ilADTDefinition $a_def)
getCheckSum()
Get unique checksum.
isValidDefinition(ilADTDefinition $a_def)
Check if definition is valid for ADT.
importStdClass($a_std)
Import value from stdClass.
isSmaller(ilADT $a_adt)
Check if given ADT is smaller than self.
getValidationErrorsByElements()
addElementValidationError($a_element_id, $a_error_code)
isNull()
Is currently null.
equals(ilADT $a_adt)
Check if given ADT equals self.
isValid()
Is currently valid.
reset()
Init property defaults.
exportStdClass()
Export value as stdClass.
setDefinition(ilADTDefinition $a_def)
Set definition.
translateErrorCode($a_code)
Translate error-code to human-readable message.
getValidationErrors()
Get all validation error codes.
getCheckSum()
Get unique checksum.
getDefinition()
Get definition.