ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\MetaData\Elements\Structure\StructureElement Class Reference
+ Inheritance diagram for ILIAS\MetaData\Elements\Structure\StructureElement:
+ Collaboration diagram for ILIAS\MetaData\Elements\Structure\StructureElement:

Public Member Functions

 __construct (bool $is_root, DefinitionInterface $definition, StructureElement ... $sub_elements)
 
 getMDID ()
 
 getSuperElement ()
 
 getSubElements ()
 
 getSubElement (string $name)
 Return the first sub-element with the given name, if one exists. More...
 
 getMDID ()
 
 getDefinition ()
 Defining properties of the metadata element. More...
 
 getSubElements ()
 
 getSuperElement ()
 
 isRoot ()
 
 getMDID ()
 
 getSubElements ()
 
 getSubElement (string $name)
 Return the first sub-element with the given name, if one exists. More...
 
 getSuperElement ()
 

Protected Member Functions

 checkSubElement (BaseElement $element)
 

Detailed Description

Definition at line 28 of file StructureElement.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\MetaData\Elements\Structure\StructureElement::__construct ( bool  $is_root,
DefinitionInterface  $definition,
StructureElement ...  $sub_elements 
)

Member Function Documentation

◆ checkSubElement()

ILIAS\MetaData\Elements\Structure\StructureElement::checkSubElement ( BaseElement  $element)
protected
Exceptions

ilMDElementsException

Definition at line 90 of file StructureElement.php.

90 : void
91 {
92 if (!($element instanceof StructureElement)) {
93 throw new \ilMDElementsException(
94 'Metadata element has invalid sub-element.'
95 );
96 }
97 }

Referenced by ILIAS\MetaData\Elements\Structure\StructureElement\getSubElement(), and ILIAS\MetaData\Elements\Structure\StructureElement\getSubElements().

+ Here is the caller graph for this function:

◆ getMDID()

ILIAS\MetaData\Elements\Structure\StructureElement::getMDID ( )

Reimplemented from ILIAS\MetaData\Elements\Base\BaseElement.

Definition at line 42 of file StructureElement.php.

42 : NoID
43 {
44 $mdid = parent::getMDID();
45 if ($mdid !== NoID::STRUCTURE && $mdid !== NoID::ROOT) {
46 throw new \ilMDElementsException(
47 'Structure metadata elements can not have IDs.'
48 );
49 }
50 return $mdid;
51 }

References ILIAS\MetaData\Elements\STRUCTURE.

◆ getSubElement()

ILIAS\MetaData\Elements\Structure\StructureElement::getSubElement ( string  $name)

Return the first sub-element with the given name, if one exists.

Implements ILIAS\MetaData\Elements\Structure\StructureElementInterface.

Definition at line 75 of file StructureElement.php.

75 : ?StructureElementInterface
76 {
77 foreach ($this->getSubElements() as $sub_element) {
78 $sub_name = $sub_element->getDefinition()->name();
79 if (strtolower($sub_name) === strtolower($name)) {
80 $this->checkSubElement($sub_element);
81 return $sub_element;
82 }
83 }
84 return null;
85 }

References ILIAS\MetaData\Elements\Structure\StructureElement\checkSubElement(), ILIAS\MetaData\Elements\Base\BaseElementInterface\getDefinition(), and ILIAS\MetaData\Elements\Structure\StructureElement\getSubElements().

+ Here is the call graph for this function:

◆ getSubElements()

ILIAS\MetaData\Elements\Structure\StructureElement::getSubElements ( )
Returns
StructureElement[]

Reimplemented from ILIAS\MetaData\Elements\Base\BaseElement.

Definition at line 67 of file StructureElement.php.

67 : \Generator
68 {
69 foreach (parent::getSubElements() as $sub_element) {
70 $this->checkSubElement($sub_element);
71 yield $sub_element;
72 }
73 }

References ILIAS\MetaData\Elements\Structure\StructureElement\checkSubElement().

Referenced by ILIAS\MetaData\Elements\Structure\StructureElement\getSubElement().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSuperElement()

ILIAS\MetaData\Elements\Structure\StructureElement::getSuperElement ( )

Reimplemented from ILIAS\MetaData\Elements\Base\BaseElement.

Definition at line 53 of file StructureElement.php.

54 {
55 $super = parent::getSuperElement();
56 if (!isset($super) || ($super instanceof StructureElement)) {
57 return $super;
58 }
59 throw new \ilMDElementsException(
60 'Metadata element has invalid super-element.'
61 );
62 }

The documentation for this class was generated from the following file: