ILIAS  release_7 Revision v7.30-3-g800a261c036
ilADTFactory Class Reference
+ Collaboration diagram for ilADTFactory:

Public Member Functions

 getValidTypes ()
 Get all ADT types. More...
 
 isValidType ($a_type)
 Check if given type is valid. More...
 
 initTypeClass ($a_type, $a_class=null)
 Init type-specific class. More...
 
 getDefinitionInstanceByType ($a_type)
 Get instance of ADT definition. More...
 
 getInstanceByDefinition (ilADTDefinition $a_def)
 Get instance of ADT. More...
 
 getFormBridgeForInstance (ilADT $a_adt)
 Get form bridge instance for ADT. More...
 
 getDBBridgeForInstance (ilADT $a_adt)
 Get DB bridge instance for ADT. More...
 
 getPresentationBridgeForInstance (ilADT $a_adt)
 Get presentation bridge instance for ADT. More...
 
 getSearchBridgeForDefinitionInstance (ilADTDefinition $a_adt_def, $a_range=true, $a_multi=true)
 Get search bridge instance for ADT definition. More...
 
 getActiveRecordBridgeForInstance (ilADT $a_adt)
 Get active record instance for ADT. More...
 

Static Public Member Functions

static getInstance ()
 Get singleton. More...
 
static getActiveRecordInstance (ilADTGroupDBBridge $a_properties)
 Get active record instance. More...
 
static initActiveRecordByType ()
 Init active record by type. More...
 
static getActiveRecordByTypeInstance (ilADTGroupDBBridge $a_properties)
 Get active record by type instance. More...
 

Data Fields

const TYPE_LOCALIZED_TEXT = 'LocalizedText'
 

Protected Member Functions

 __construct ()
 Constructor. More...
 

Static Protected Attributes

static $instance
 

Detailed Description

Definition at line 6 of file class.ilADTFactory.php.

Constructor & Destructor Documentation

◆ __construct()

ilADTFactory::__construct ( )
protected

Constructor.

Returns
self

Definition at line 17 of file class.ilADTFactory.php.

18  {
19  }

Member Function Documentation

◆ getActiveRecordBridgeForInstance()

ilADTFactory::getActiveRecordBridgeForInstance ( ilADT  $a_adt)

Get active record instance for ADT.

Parameters
ilADT$a_adt
Returns
ilADTActiveRecordBridge

Definition at line 202 of file class.ilADTFactory.php.

References ilADT\getType(), and initTypeClass().

203  {
204  $class = $this->initTypeClass($a_adt->getType(), "ActiveRecordBridge");
205  return new $class($a_adt);
206  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
getType()
Get type (from class/instance)
Definition: class.ilADT.php:53
+ Here is the call graph for this function:

◆ getActiveRecordByTypeInstance()

static ilADTFactory::getActiveRecordByTypeInstance ( ilADTGroupDBBridge  $a_properties)
static

Get active record by type instance.

Parameters
ilADTGroupDBBridge$a_properties
Returns
ilADTActiveRecordByType

Definition at line 239 of file class.ilADTFactory.php.

240  {
241  self::initActiveRecordByType();
242  return new ilADTActiveRecordByType($a_properties);
243  }
ADT Active Record by type helper class.

◆ getActiveRecordInstance()

static ilADTFactory::getActiveRecordInstance ( ilADTGroupDBBridge  $a_properties)
static

Get active record instance.

Parameters
ilADTGroupDBBridge$a_properties
Returns
ilADTActiveRecord

Definition at line 219 of file class.ilADTFactory.php.

220  {
221  require_once "Services/ADT/classes/ActiveRecord/class.ilADTActiveRecord.php";
222  return new ilADTActiveRecord($a_properties);
223  }
ADT Active Record helper class.

◆ getDBBridgeForInstance()

ilADTFactory::getDBBridgeForInstance ( ilADT  $a_adt)

Get DB bridge instance for ADT.

Exceptions
Exception
Parameters
ilADT$a_adt
Returns
ilADTDBBridge

Definition at line 136 of file class.ilADTFactory.php.

References ilADT\getType(), and initTypeClass().

137  {
138  $class = $this->initTypeClass($a_adt->getType(), "DBBridge");
139  return new $class($a_adt);
140  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
getType()
Get type (from class/instance)
Definition: class.ilADT.php:53
+ Here is the call graph for this function:

◆ getDefinitionInstanceByType()

ilADTFactory::getDefinitionInstanceByType (   $a_type)

Get instance of ADT definition.

Exceptions
Exception
Parameters
string$a_type
Returns
ilADTDefinition

Definition at line 88 of file class.ilADTFactory.php.

References initTypeClass().

89  {
90  $class = $this->initTypeClass($a_type, "Definition");
91  return new $class();
92  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
+ Here is the call graph for this function:

◆ getFormBridgeForInstance()

ilADTFactory::getFormBridgeForInstance ( ilADT  $a_adt)

Get form bridge instance for ADT.

Exceptions
Exception
Parameters
ilADT$a_adt
Returns
ilADTFormBridge

Definition at line 123 of file class.ilADTFactory.php.

References ilADT\getType(), and initTypeClass().

124  {
125  $class = $this->initTypeClass($a_adt->getType(), "FormBridge");
126  return new $class($a_adt);
127  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
getType()
Get type (from class/instance)
Definition: class.ilADT.php:53
+ Here is the call graph for this function:

◆ getInstance()

static ilADTFactory::getInstance ( )
static

Get singleton.

Returns
self

Definition at line 26 of file class.ilADTFactory.php.

Referenced by ilAdvancedMDValues\_cloneValues(), ilGlossaryTerm\_copyTerm(), ilAdvancedMDValues\_deleteByFieldId(), ilAdvancedMDValues\_deleteByObjId(), ilADTGroup\addElement(), ilContainer\applyContainerUserFilter(), ilADTEnumSearchBridgeMulti\convertADTDefinitionToMulti(), ilAdvancedMDFieldDefinitionGroupBased\exportOptionToTableGUI(), ilPCAMDPageList\findPages(), ilAdvancedMDValues\getActiveRecord(), ilAdvancedMDFieldDefinition\getADT(), ilAdvancedMDFieldDefinitionGroupBased\getADTForOption(), ilAdvancedMDFieldDefinitionAddress\getADTGroup(), ilAdvancedMDFieldDefinition\getADTGroupForDefinitions(), ilLuceneAdvancedSearchFields\getFormElement(), ilObjectMetaDataGUI\getKeyValueList(), ilObjectMetaDataBlockGUI\getLegacyContent(), ilAdvancedMDFieldDefinitionSelect\importNewSelectOptions(), ilADTBasedObject\initActiveRecordInstance(), ilAdvancedMDFieldDefinitionGroupBased\initADTDefinition(), ilAdvancedMDFieldDefinitionExternalLink\initADTDefinition(), ilAdvancedMDFieldDefinitionInternalLink\initADTDefinition(), ilAdvancedMDFieldDefinitionDate\initADTDefinition(), ilAdvancedMDFieldDefinitionDateTime\initADTDefinition(), ilAdvancedMDFieldDefinitionLocation\initADTDefinition(), ilAdvancedMDFieldDefinitionSelectMulti\initADTDefinition(), ilAdvancedMDFieldDefinitionFloat\initADTDefinition(), ilAdvancedMDFieldDefinitionSelect\initADTDefinition(), ilAdvancedMDFieldDefinitionText\initADTDefinition(), ilAdvancedMDFieldDefinitionInteger\initADTDefinition(), ilADTBasedObjectGUI\initForm(), ilAdvancedMDFieldDefinitionGroupBased\initOptionForm(), ilADTTest\initProperties(), ilAdvancedMDRecordGUI\parseAppointmentPresentation(), ilAdvancedMDRecordGUI\parseEditor(), ilAdvancedMDRecordGUI\parseFilter(), ilAdvancedMDRecordGUI\parseInfoPage(), ilAdvancedMDRecordGUI\parseSearch(), ilAdvancedMDSubstitution\parseValue(), ilAdvancedMDValues\preloadByObjIds(), ilADTGroupFormBridge\prepareElements(), ilADTGroupPresentationBridge\prepareElements(), ilADTGroupDBBridge\prepareElements(), ilADTGroupActiveRecordBridge\prepareElements(), ilAdvancedMDValues\queryForRecords(), ilAdvancedSearchGUI\searchAdvancedMD(), ilADTSearchBridgeMulti\setDefinition(), ilADTSearchBridgeSingle\setDefinition(), ilADTSearchBridgeRange\setDefinition(), ilAdvancedMDFieldDefinitionSelect\update(), and ilAdvancedMDFieldDefinitionGroupBased\updateComplexOption().

27  {
28  if (self::$instance === null) {
29  self::$instance = new self;
30  }
31  return self::$instance;
32  }
+ Here is the caller graph for this function:

◆ getInstanceByDefinition()

ilADTFactory::getInstanceByDefinition ( ilADTDefinition  $a_def)

Get instance of ADT.

Exceptions
Exception
Parameters
ilADTDefinition$a_def
Returns
ilADT

Definition at line 101 of file class.ilADTFactory.php.

References ilADTDefinition\getType(), and initTypeClass().

102  {
103  if (!method_exists($a_def, "getADTInstance")) {
104  $class = $this->initTypeClass($a_def->getType());
105  return new $class($a_def);
106  } else {
107  return $a_def->getADTInstance();
108  }
109  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
getType()
Get type (from class/instance)
+ Here is the call graph for this function:

◆ getPresentationBridgeForInstance()

ilADTFactory::getPresentationBridgeForInstance ( ilADT  $a_adt)

Get presentation bridge instance for ADT.

Exceptions
Exception
Parameters
ilADT$a_adt
Returns
ilADTPresentationBridge

Definition at line 149 of file class.ilADTFactory.php.

References ilADT\getType(), and initTypeClass().

150  {
151  $class = $this->initTypeClass($a_adt->getType(), "PresentationBridge");
152  return new $class($a_adt);
153  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
getType()
Get type (from class/instance)
Definition: class.ilADT.php:53
+ Here is the call graph for this function:

◆ getSearchBridgeForDefinitionInstance()

ilADTFactory::getSearchBridgeForDefinitionInstance ( ilADTDefinition  $a_adt_def,
  $a_range = true,
  $a_multi = true 
)

Get search bridge instance for ADT definition.

Parameters
ilADTDefinition$a_adt_def
bool$a_range
bool$a_multi
Returns
ilADTSearchBridge

Definition at line 163 of file class.ilADTFactory.php.

References Vendor\Package\$e, ilADTDefinition\getType(), and initTypeClass().

164  {
165  if ($a_range) {
166  try {
167  $class = $this->initTypeClass($a_adt_def->getType(), "SearchBridgeRange");
168  return new $class($a_adt_def);
169  } catch (Exception $e) {
170  }
171  }
172 
173  // multi enum search (single) == enum search (multi)
174  if (!$a_multi &&
175  $a_adt_def->getType() == "MultiEnum") {
176  $class = $this->initTypeClass("Enum", "SearchBridgeMulti");
177  return new $class($a_adt_def);
178  }
179 
180  if ($a_multi) {
181  try {
182  if ($a_adt_def->getType() == 'MultiEnum') {
183  $class = $this->initTypeClass('Enum','SearchBridgeMulti');
184  return new $class($a_adt_def);
185  }
186  $class = $this->initTypeClass($a_adt_def->getType(), "SearchBridgeMulti");
187  return new $class($a_adt_def);
188  } catch (Exception $e) {
189  }
190  }
191  $class = $this->initTypeClass($a_adt_def->getType(), "SearchBridgeSingle");
192  return new $class($a_adt_def);
193  }
initTypeClass($a_type, $a_class=null)
Init type-specific class.
getType()
Get type (from class/instance)
+ Here is the call graph for this function:

◆ getValidTypes()

ilADTFactory::getValidTypes ( )

Get all ADT types.

Returns
array

Definition at line 39 of file class.ilADTFactory.php.

Referenced by isValidType().

40  {
41  return array(
42  "Float", "Integer", "Location", "Text", "Boolean",
43  "MultiText", "Date", "DateTime", "Enum", "MultiEnum", "Group",
44  'ExternalLink','InternalLink', self::TYPE_LOCALIZED_TEXT
45  );
46  }
+ Here is the caller graph for this function:

◆ initActiveRecordByType()

static ilADTFactory::initActiveRecordByType ( )
static

Init active record by type.

Definition at line 228 of file class.ilADTFactory.php.

Referenced by ilAdvancedMDValues\findByObjectId(), and ilAdvancedMDFieldDefinitionSelect\update().

229  {
230  require_once "Services/ADT/classes/ActiveRecord/class.ilADTActiveRecordByType.php";
231  }
+ Here is the caller graph for this function:

◆ initTypeClass()

ilADTFactory::initTypeClass (   $a_type,
  $a_class = null 
)

Init type-specific class.

Exceptions
Exception
Parameters
string$a_type
string$a_class
Returns
string

Definition at line 67 of file class.ilADTFactory.php.

References isValidType().

Referenced by getActiveRecordBridgeForInstance(), getDBBridgeForInstance(), getDefinitionInstanceByType(), getFormBridgeForInstance(), getInstanceByDefinition(), getPresentationBridgeForInstance(), and getSearchBridgeForDefinitionInstance().

68  {
69  if ($this->isValidType($a_type)) {
70  $class = "ilADT" . $a_type . $a_class;
71  $file = "Services/ADT/classes/Types/" . $a_type . "/class." . $class . ".php";
72  if (file_exists($file)) {
73  require_once $file;
74  return $class;
75  }
76  }
77 
78  throw new Exception("ilADTFactory unknown type: " . $a_type . ' -> ' . $file);
79  }
isValidType($a_type)
Check if given type is valid.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isValidType()

ilADTFactory::isValidType (   $a_type)

Check if given type is valid.

Parameters
string$a_type
Returns
bool

Definition at line 54 of file class.ilADTFactory.php.

References getValidTypes().

Referenced by initTypeClass().

55  {
56  return in_array((string) $a_type, $this->getValidTypes());
57  }
getValidTypes()
Get all ADT types.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $instance

ilADTFactory::$instance
staticprotected

Definition at line 10 of file class.ilADTFactory.php.

◆ TYPE_LOCALIZED_TEXT

const ilADTFactory::TYPE_LOCALIZED_TEXT = 'LocalizedText'

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