
| Current Path : /var/www/html/store/vendor/commerceguys/addressing/src/AddressFormat/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/store/vendor/commerceguys/addressing/src/AddressFormat/FieldOverrides.php |
<?php
namespace CommerceGuys\Addressing\AddressFormat;
/**
* Represents a set of field overrides.
*/
final class FieldOverrides
{
/**
* The hidden fields.
*
* @var string[]
*/
protected $hiddenFields = [];
/**
* The optional fields.
*
* @var string[]
*/
protected $optionalFields = [];
/**
* The required fields.
*
* @var string[]
*/
protected $requiredFields = [];
/**
* Creates a new FieldOverrides instance.
*
* @param array $definition The field overrides, keyed by field name.
*/
public function __construct(array $definition)
{
AddressField::assertAllExist(array_keys($definition));
FieldOverride::assertAllExist($definition);
foreach ($definition as $field => $override) {
if ($override == FieldOverride::HIDDEN) {
$this->hiddenFields[] = $field;
} elseif ($override == FieldOverride::OPTIONAL) {
$this->optionalFields[] = $field;
} elseif ($override == FieldOverride::REQUIRED) {
$this->requiredFields[] = $field;
}
}
}
/**
* Gets the hidden fields.
*
* @return string[]
*/
public function getHiddenFields(): array
{
return $this->hiddenFields;
}
/**
* Gets the optional fields.
*
* @return string[]
*/
public function getOptionalFields(): array
{
return $this->optionalFields;
}
/**
* Gets the required fields.
*
* @return string[]
*/
public function getRequiredFields(): array
{
return $this->requiredFields;
}
}