Bitrix-D7 22.2
Загрузка...
Поиск...
Не найдено
Класс Entity

Открытые члены

 getField ($name)
 
 isStartField ($isMeaningfulField=false)
 
 clearStartField ()
 
 hasMeaningfulField ()
 
 doFinalAction ($hasMeaningfulField=false)
 
 setMathActionOnly ($value=false)
 
 isMathActionOnly ()
 
 setFieldNoDemand ($name, $value)
 
 setFieldsNoDemand (array $values)
 
 initField ($name, $value)
 
 initFields (array $values)
 
 getFieldValues ()
 
 getFields ()
 
 getId ()
 
 isChanged ()
 
 markFieldCustom (string $name)
 
 unmarkFieldCustom (string $name)
 
 isMarkedFieldCustom (string $name)
 
 verify ()
 
 clearChanged ()
 
 toArray ()
 

Открытые статические члены

static getRegistryType ()
 
static getRegistryEntity ()
 
static getAvailableFields ()
 
static getCustomizableFields ()
 
static getAvailableFieldsMap ()
 
static getAllFields ()
 
static getFieldsDescription ()
 
static getEntityEventName ()
 
static getClassName ()
 

Защищенные члены

 __construct (array $fields=array())
 
 checkValueBeforeSet ($name, $value)
 
 onBeforeSetFields (array $values)
 
 onFieldModify ($name, $oldValue, $value)
 
 addChangesToHistory ($name, $oldValue=null, $value=null)
 

Защищенные статические члены

static getFieldsMap ()
 
static getMeaningfulFields ()
 

Защищенные данные

 $fields
 
 $eventName = null
 

Подробное описание

См. определение в файле entity.php строка 10

Конструктор(ы)

◆ __construct()

__construct ( array  $fields = array())
protected

См. определение в файле entity.php строка 17

18 {
19 $this->fields = new Fields($fields);
20 }

Методы

◆ addChangesToHistory()

addChangesToHistory (   $name,
  $oldValue = null,
  $value = null 
)
protected
Аргументы
string$name
null | string$oldValue
null | string$value

См. определение в файле entity.php строка 609

610 {
611 return;
612 }

◆ checkValueBeforeSet()

checkValueBeforeSet (   $name,
  $value 
)
protected
Аргументы
$name
$value
Возвращает
Result

См. определение в файле entity.php строка 327

328 {
329 return new Result();
330 }

◆ clearChanged()

clearChanged ( )

См. определение в файле entity.php строка 701

702 {
703 $this->fields->clearChanged();
704 }

◆ clearStartField()

clearStartField ( )
abstract

◆ doFinalAction()

doFinalAction (   $hasMeaningfulField = false)
abstract
Аргументы
bool$hasMeaningfulField
Возвращает
Result

◆ getAllFields()

static getAllFields ( )
static
Возвращает
array
Исключения
Main

NotImplementedException

См. определение в файле entity.php строка 79

80 {
81 static $mapFields = array();
82 if ($mapFields)
83 {
84 return $mapFields;
85 }
86
87 $fields = static::getFieldsDescription();
88 foreach ($fields as $field)
89 {
90 $mapFields[$field['CODE']] = $field['CODE'];
91 }
92
93 return $mapFields;
94 }

◆ getAvailableFields()

static getAvailableFields ( )
static
Возвращает
array
Исключения
Main

NotImplementedException

См. определение в файле entity.php строка 45

46 {
47 throw new Main\NotImplementedException();
48 }

◆ getAvailableFieldsMap()

static getAvailableFieldsMap ( )
static
Возвращает
array|null
Исключения
Main

NotImplementedException

См. определение в файле entity.php строка 62

63 {
64 static $fieldsMap = null;
65
66 if ($fieldsMap === null)
67 {
68 $fieldsMap = array_fill_keys(static::getAvailableFields(), true);
69 }
70
71 return $fieldsMap;
72 }

◆ getClassName()

static getClassName ( )
static
Возвращает
string

См. определение в файле entity.php строка 628

629 {
630 return get_called_class();
631 }

◆ getCustomizableFields()

static getCustomizableFields ( )
static
Возвращает
array

См. определение в файле entity.php строка 53

53 : array
54 {
55 return [];
56 }

◆ getEntityEventName()

static getEntityEventName ( )
static

См. определение в файле entity.php строка 620

621 {
622 throw new Main\NotImplementedException(static::class . ':' . __FUNCTION__ . ' is not implemented');
623 }

◆ getField()

getField (   $name)
Аргументы
$name
Возвращает
string|null

См. определение в файле entity.php строка 149

150 {
151 return $this->fields->get($name);
152 }

◆ getFields()

getFields ( )

См. определение в файле entity.php строка 580

581 {
582 return $this->fields;
583 }

◆ getFieldsDescription()

static getFieldsDescription ( )
static
Возвращает
array
Исключения
Main

NotImplementedException

См. определение в файле entity.php строка 100

101 {
102 $result = [];
103
104 $map = static::getFieldsMap();
105 foreach ($map as $key => $value)
106 {
107 if (is_array($value) && !isset($value['expression']))
108 {
109 $result[$key] = [
110 'CODE' => $key,
111 'TYPE' => $value['data_type']
112 ];
113 }
114 elseif ($value instanceof Main\Entity\ScalarField)
115 {
116 $result[$value->getName()] = [
117 'CODE' => $value->getName(),
118 'TYPE' => $value->getDataType(),
119 ];
120 }
121 }
122
123 return $result;
124 }

◆ getFieldsMap()

static getFieldsMap ( )
staticprotected
Исключения
Main

NotImplementedException

Возвращает
array

См. определение в файле entity.php строка 130

131 {
132 throw new Main\NotImplementedException();
133 }

◆ getFieldValues()

getFieldValues ( )
Возвращает
array

См. определение в файле entity.php строка 571

572 {
573 return $this->fields->getValues();
574 }

◆ getId()

getId ( )
Возвращает
int

См. определение в файле entity.php строка 599

600 {
601 return (int)$this->getField("ID");
602 }

◆ getMeaningfulFields()

static getMeaningfulFields ( )
staticprotected
Возвращает
array
Исключения
Main

NotImplementedException

См. определение в файле entity.php строка 140

141 {
142 throw new Main\NotImplementedException();
143 }

◆ getRegistryEntity()

static getRegistryEntity ( )
static
Исключения
Main

NotImplementedException

Возвращает
string

См. определение в файле entity.php строка 35

36 {
37 throw new Main\NotImplementedException('The method '.__METHOD__.' is not overridden in '.static::class);
38 }

◆ getRegistryType()

static getRegistryType ( )
static
Исключения
Main

NotImplementedException

Возвращает
string

См. определение в файле entity.php строка 26

27 {
28 throw new Main\NotImplementedException('The method '.__METHOD__.' is not overridden in '.static::class);
29 }

◆ hasMeaningfulField()

hasMeaningfulField ( )
abstract
Возвращает
bool

◆ initField()

initField (   $name,
  $value 
)

См. определение в файле entity.php строка 543

544 {
545 $allFields = static::getAllFields();
546 if (!isset($allFields[$name]))
547 {
548 throw new Main\ArgumentOutOfRangeException($name);
549 }
550
551 $this->fields->init($name, $value);
552 }

◆ initFields()

initFields ( array  $values)

См. определение в файле entity.php строка 560

561 {
562 foreach ($values as $key => $value)
563 {
564 $this->initField($key, $value);
565 }
566 }

◆ isChanged()

isChanged ( )
Возвращает
bool

См. определение в файле entity.php строка 636

637 {
638 return (bool)$this->fields->getChangedValues();
639 }

◆ isMarkedFieldCustom()

isMarkedFieldCustom ( string  $name)
Аргументы
string$name
Возвращает
bool

См. определение в файле entity.php строка 685

685 : bool
686 {
687 return $this->fields->isMarkedCustom($name);
688 }

◆ isMathActionOnly()

isMathActionOnly ( )
abstract
Возвращает
bool

◆ isStartField()

isStartField (   $isMeaningfulField = false)
abstract
Аргументы
bool$isMeaningfulField
Возвращает
bool

◆ markFieldCustom()

markFieldCustom ( string  $name)
Аргументы
string$name
Исключения
Main

ArgumentOutOfRangeException

См. определение в файле entity.php строка 645

646 {
647 $fields = static::getCustomizableFields();
648 if (!isset($fields[$name]))
649 {
650 throw new Main\ArgumentOutOfRangeException(
651 Main\Localization\Loc::getMessage(
652 'SALE_INTERNALS_ENTITY_FIELD_IS_NOT_CUSTOMIZABLE',
653 ['#FIELD#' => $name]
654 )
655 );
656 }
657
658 $this->fields->markCustom($name);
659 }
static getMessage($code, $replace=null, $language=null)
Definition: loc.php:29

◆ onBeforeSetFields()

onBeforeSetFields ( array  $values)
protected
Аргументы
array$values
Возвращает
array

См. определение в файле entity.php строка 517

518 {
519 return $values;
520 }

◆ onFieldModify()

onFieldModify (   $name,
  $oldValue,
  $value 
)
protected
Аргументы
string$name
mixed$oldValue
mixed$value
Возвращает
Result

См. определение в файле entity.php строка 591

592 {
593 return new Result();
594 }

◆ setFieldNoDemand()

setFieldNoDemand (   $name,
  $value 
)

См. определение в файле entity.php строка 372

373 {
374 $allFields = static::getAllFields();
375 if (!isset($allFields[$name]))
376 {
377 throw new Main\ArgumentOutOfRangeException($name);
378 }
379
380 $oldValue = $this->fields->get($name);
381
382 if ($oldValue != $value || ($oldValue === null && $value !== null))
383 {
384 $this->fields->set($name, $value);
385 static::addChangesToHistory($name, $oldValue, $value);
386 }
387 }

◆ setFieldsNoDemand()

setFieldsNoDemand ( array  $values)

См. определение в файле entity.php строка 528

529 {
530 foreach ($values as $key => $value)
531 {
532 $this->setFieldNoDemand($key, $value);
533 }
534 }

◆ setMathActionOnly()

setMathActionOnly (   $value = false)
abstract

◆ toArray()

toArray ( )

См. определение в файле entity.php строка 706

706 : array
707 {
708 return $this->getFieldValues();
709 }

◆ unmarkFieldCustom()

unmarkFieldCustom ( string  $name)
Аргументы
string$name
Исключения
Main

ArgumentOutOfRangeException

См. определение в файле entity.php строка 665

666 {
667 $fields = static::getCustomizableFields();
668 if (!isset($fields[$name]))
669 {
670 throw new Main\ArgumentOutOfRangeException(
671 Main\Localization\Loc::getMessage(
672 'SALE_INTERNALS_ENTITY_FIELD_IS_NOT_CUSTOMIZABLE',
673 ['#FIELD#' => $name]
674 )
675 );
676 }
677
678 $this->fields->unmarkCustom($name);
679 }

◆ verify()

verify ( )
Возвращает
Result

См. определение в файле entity.php строка 693

694 {
695 return new Result();
696 }

Поля

◆ $eventName

$eventName = null
protected

См. определение в файле entity.php строка 15

◆ $fields

$fields
protected

См. определение в файле entity.php строка 13


Объявления и описания членов класса находятся в файле: