ILIAS  trunk Revision v11.0_alpha-1831-g8615d53dadb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilADTFactory Class Reference

Class ilADTFactory. More...

+ Collaboration diagram for ilADTFactory:

Public Member Functions

 getValidTypes ()
 Get all ADT types. More...
 
 isValidType (string $a_type)
 
 initTypeClass (string $a_type, ?string $a_class=null)
 
 getDefinitionInstanceByType (string $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, bool $a_range=true, bool $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 ()
 
static getActiveRecordInstance (ilADTGroupDBBridge $a_properties)
 Get active record instance. More...
 
static initActiveRecordByType ()
 Init active record by type. More...
 
static getActiveRecordByTypeInstance (ilADTDBBridge $a_properties)
 Get active record by type instance. More...
 

Data Fields

const TYPE_LOCALIZED_TEXT = 'LocalizedText'
 

Static Protected Attributes

static ilADTFactory $instance = null
 

Detailed Description

Class ilADTFactory.

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

Member Function Documentation

◆ getActiveRecordBridgeForInstance()

ilADTFactory::getActiveRecordBridgeForInstance ( ilADT  $a_adt)

Get active record instance for ADT.

Parameters
ilADT$a_adt
Returns
ilADTActiveRecordBridge
Exceptions
InvalidArgumentException

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

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

193  {
194  $class = $this->initTypeClass($a_adt->getType(), "ActiveRecordBridge");
195  return new $class($a_adt);
196  }
getType()
Get type (from class/instance)
Definition: class.ilADT.php:64
initTypeClass(string $a_type, ?string $a_class=null)
+ Here is the call graph for this function:

◆ getActiveRecordByTypeInstance()

static ilADTFactory::getActiveRecordByTypeInstance ( ilADTDBBridge  $a_properties)
static

Get active record by type instance.

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

224  {
225  self::initActiveRecordByType();
226  return new ilADTActiveRecordByType($a_properties);
227  }
ADT Active Record by type helper class This class expects a valid primary for all actions! ...

◆ getActiveRecordInstance()

static ilADTFactory::getActiveRecordInstance ( ilADTGroupDBBridge  $a_properties)
static

Get active record instance.

Parameters
ilADTGroupDBBridge$a_properties
Returns
ilADTActiveRecord

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

209  {
210  return new ilADTActiveRecord($a_properties);
211  }
ADT Active Record helper class This class expects a valid primary for all actions! ...

◆ getDBBridgeForInstance()

ilADTFactory::getDBBridgeForInstance ( ilADT  $a_adt)

Get DB bridge instance for ADT.

Parameters
ilADT$a_adt
Returns
ilADTDBBridge
Exceptions
InvalidArgumentException

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

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

123  : ilADTDBBridge
124  {
125  $class = $this->initTypeClass($a_adt->getType(), "DBBridge");
126  return new $class($a_adt);
127  }
getType()
Get type (from class/instance)
Definition: class.ilADT.php:64
initTypeClass(string $a_type, ?string $a_class=null)
ADT DB bridge base class.
+ Here is the call graph for this function:

◆ getDefinitionInstanceByType()

ilADTFactory::getDefinitionInstanceByType ( string  $a_type)

Get instance of ADT definition.

Parameters
string$a_type
Returns
ilADTDefinition
Exceptions
InvalidArgumentException

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

References initTypeClass().

84  {
85  $class = $this->initTypeClass($a_type, "Definition");
86  return new $class();
87  }
initTypeClass(string $a_type, ?string $a_class=null)
ADT definition base class.
+ Here is the call graph for this function:

◆ getFormBridgeForInstance()

ilADTFactory::getFormBridgeForInstance ( ilADT  $a_adt)

Get form bridge instance for ADT.

Parameters
ilADT$a_adt
Returns
ilADTFormBridge
Exceptions
InvalidArgumentException

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

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

112  {
113  $class = $this->initTypeClass($a_adt->getType(), "FormBridge");
114  return new $class($a_adt);
115  }
getType()
Get type (from class/instance)
Definition: class.ilADT.php:64
initTypeClass(string $a_type, ?string $a_class=null)
ADT form bridge base class.
+ Here is the call graph for this function:

◆ getInstance()

static ilADTFactory::getInstance ( )
static

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

References null.

Referenced by ilAdvancedMDValues\_cloneValues(), ilGlossaryTerm\_copyTerm(), ilAdvancedMDValues\_deleteByFieldId(), ilAdvancedMDValues\_deleteByObjId(), ilADTGroup\addElement(), ILIAS\UI\Component\Legacy\Content\Filter\FilterManager\apply(), ilADTEnumSearchBridgeMulti\convertADTDefinitionToMulti(), ilAdvancedMDFieldDefinitionGroupBased\exportOptionToTableGUI(), ilAdvancedMDValues\getActiveRecord(), ilAdvancedMDFieldDefinition\getADT(), ilAdvancedMDFieldDefinitionGroupBased\getADTForOption(), ilAdvancedMDFieldDefinitionAddress\getADTGroup(), ilAdvancedMDFieldDefinition\getADTGroupForDefinitions(), ilPresentationTableGUI\getADTSearchBridges(), ilLuceneAdvancedSearchFields\getFormElement(), ilObjectMetaDataGUI\getKeyValueList(), ilObjectMetaDataBlockGUI\getLegacyContent(), ilPCAMDPageList\handleCopiedContent(), ilAdvancedMDFieldDefinitionSelect\importNewSelectOptions(), ilADTBasedObject\initActiveRecordInstance(), ilAdvancedMDFieldDefinitionGroupBased\initADTDefinition(), ilAdvancedMDFieldDefinitionExternalLink\initADTDefinition(), ilAdvancedMDFieldDefinitionInternalLink\initADTDefinition(), ilAdvancedMDFieldDefinitionLocation\initADTDefinition(), ilAdvancedMDFieldDefinitionSelectMulti\initADTDefinition(), ilAdvancedMDFieldDefinitionDate\initADTDefinition(), ilAdvancedMDFieldDefinitionDateTime\initADTDefinition(), ilAdvancedMDFieldDefinitionFloat\initADTDefinition(), ilAdvancedMDFieldDefinitionText\initADTDefinition(), ilAdvancedMDFieldDefinitionInteger\initADTDefinition(), ilAdvancedMDFieldDefinitionSelect\initADTDefinition(), ilADTBasedObjectGUI\initForm(), ilAdvancedMDFieldDefinitionGroupBased\initOptionForm(), ilADTTest\initProperties(), ILIAS\Cache\Services\ObjectModes\Custom\Custom\initSets(), ilAdvancedMDRecordGUI\parseAppointmentPresentationa(), 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(), ilADTFactoryTest\testConstruct(), ilAdvancedMDFieldDefinitionSelect\update(), and ilAdvancedMDFieldDefinitionGroupBased\updateComplexOption().

30  : ilADTFactory
31  {
32  if (self::$instance === null) {
33  self::$instance = new self();
34  }
35  return self::$instance;
36  }
Class ilADTFactory.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the caller graph for this function:

◆ getInstanceByDefinition()

ilADTFactory::getInstanceByDefinition ( ilADTDefinition  $a_def)

Get instance of ADT.

Parameters
ilADTDefinition$a_def
Returns
ilADT
Exceptions
Exception

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

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

95  : ilADT
96  {
97  if (!method_exists($a_def, "getADTInstance")) {
98  $class = $this->initTypeClass($a_def->getType());
99  return new $class($a_def);
100  } else {
101  return $a_def->getADTInstance();
102  }
103  }
initTypeClass(string $a_type, ?string $a_class=null)
ADT base class.
Definition: class.ilADT.php:25
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.

Parameters
ilADT$a_adt
Returns
ilADTPresentationBridge
Exceptions
InvalidArgumentException

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

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

136  {
137  $class = $this->initTypeClass($a_adt->getType(), "PresentationBridge");
138  return new $class($a_adt);
139  }
getType()
Get type (from class/instance)
Definition: class.ilADT.php:64
initTypeClass(string $a_type, ?string $a_class=null)
ADT presentation bridge base class.
+ Here is the call graph for this function:

◆ getSearchBridgeForDefinitionInstance()

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

Get search bridge instance for ADT definition.

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

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

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

154  if ($a_range) {
155  try {
156  $class = $this->initTypeClass($a_adt_def->getType(), "SearchBridgeRange");
157  if (class_exists($class)) {
158  return new $class($a_adt_def);
159  }
160  } catch (Exception $e) {
161  }
162  }
163 
164  // multi enum search (single) == enum search (multi)
165  if (!$a_multi &&
166  $a_adt_def->getType() == "MultiEnum") {
167  $class = $this->initTypeClass("Enum", "SearchBridgeMulti");
168  return new $class($a_adt_def);
169  }
170 
171  if ($a_multi) {
172  try {
173  if ($a_adt_def->getType() == 'MultiEnum') {
174  $class = $this->initTypeClass('Enum', 'SearchBridgeMulti');
175  return new $class($a_adt_def);
176  }
177  $class = $this->initTypeClass($a_adt_def->getType(), "SearchBridgeMulti");
178  return new $class($a_adt_def);
179  } catch (Exception $e) {
180  }
181  }
182  $class = $this->initTypeClass($a_adt_def->getType(), "SearchBridgeSingle");
183  return new $class($a_adt_def);
184  }
initTypeClass(string $a_type, ?string $a_class=null)
ADT search bridge base class.
getType()
Get type (from class/instance)
+ Here is the call graph for this function:

◆ getValidTypes()

ilADTFactory::getValidTypes ( )

Get all ADT types.

Returns
string[]

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

Referenced by isValidType().

42  : array
43  {
44  return array(
45  "Float",
46  "Integer",
47  "Location",
48  "Text",
49  "Boolean",
50  "MultiText",
51  "Date",
52  "DateTime",
53  "Enum",
54  "MultiEnum",
55  "Group",
56  'ExternalLink',
57  'InternalLink',
58  self::TYPE_LOCALIZED_TEXT
59  );
60  }
+ Here is the caller graph for this function:

◆ initActiveRecordByType()

static ilADTFactory::initActiveRecordByType ( )
static

Init active record by type.

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

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

216  : void
217  {
218  }
+ Here is the caller graph for this function:

◆ initTypeClass()

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

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

References isValidType().

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

67  : string
68  {
69  $class = '';
70  if ($this->isValidType($a_type)) {
71  $class = "ilADT" . $a_type . $a_class;
72  return $class;
73  }
74  throw new InvalidArgumentException("ilADTFactory unknown type: " . $a_type);
75  }
isValidType(string $a_type)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isValidType()

ilADTFactory::isValidType ( string  $a_type)

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

References getValidTypes().

Referenced by initTypeClass().

62  : bool
63  {
64  return in_array($a_type, $this->getValidTypes());
65  }
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 ilADTFactory::$instance = null
staticprotected

Definition at line 28 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: