ILIAS  trunk Revision v11.0_alpha-1744-gb0451eebef4
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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...
 

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 
)

Definition at line 30 of file StructureElement.php.

References ILIAS\GlobalScreen\Provider\__construct(), and ILIAS\MetaData\Elements\STRUCTURE.

34  {
36  $is_root ? NoID::ROOT : NoID::STRUCTURE,
38  ...$sub_elements
39  );
40  }
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ checkSubElement()

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

Definition at line 90 of file StructureElement.php.

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

90  : void
91  {
92  if (!($element instanceof StructureElement)) {
93  throw new \ilMDElementsException(
94  'Metadata element has invalid sub-element.'
95  );
96  }
97  }
+ Here is the caller graph for this function:

◆ getMDID()

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

Implements ILIAS\MetaData\Elements\Structure\StructureElementInterface.

Definition at line 42 of file StructureElement.php.

References ILIAS\MetaData\Elements\STRUCTURE.

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  }

◆ 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.

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

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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ getSubElements()

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

Implements ILIAS\MetaData\Elements\Structure\StructureElementInterface.

Definition at line 67 of file StructureElement.php.

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

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

67  : \Generator
68  {
69  foreach (parent::getSubElements() as $sub_element) {
70  $this->checkSubElement($sub_element);
71  yield $sub_element;
72  }
73  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSuperElement()

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

Implements ILIAS\MetaData\Elements\Structure\StructureElementInterface.

Definition at line 53 of file StructureElement.php.

53  : ?StructureElement
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: