platform/api/symfony/Component/PropertyAccess/PropertyPath.yaml
2024-09-02 10:44:11 -07:00

90 lines
3.1 KiB
YAML

name: PropertyPath
class_comment: '# * Default implementation of {@link PropertyPathInterface}.
# *
# * @author Bernhard Schussek <bschussek@gmail.com>
# *
# * @implements \IteratorAggregate<int, string>'
dependencies:
- name: InvalidArgumentException
type: class
source: Symfony\Component\PropertyAccess\Exception\InvalidArgumentException
- name: InvalidPropertyPathException
type: class
source: Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException
- name: OutOfBoundsException
type: class
source: Symfony\Component\PropertyAccess\Exception\OutOfBoundsException
properties: []
methods:
- name: __construct
visibility: public
parameters:
- name: propertyPath
comment: "# * Default implementation of {@link PropertyPathInterface}.\n# *\n# *\
\ @author Bernhard Schussek <bschussek@gmail.com>\n# *\n# * @implements \\IteratorAggregate<int,\
\ string>\n# */\n# class PropertyPath implements \\IteratorAggregate, PropertyPathInterface\n\
# {\n# /**\n# * Character used for separating between plural and singular of an\
\ element.\n# */\n# public const SINGULAR_SEPARATOR = '|';\n# \n# /**\n# * The\
\ elements of the property path.\n# *\n# * @var list<string>\n# */\n# private\
\ array $elements = [];\n# \n# /**\n# * The number of elements in the property\
\ path.\n# */\n# private int $length;\n# \n# /**\n# * Contains a Boolean for each\
\ property in $elements denoting whether this\n# * element is an index. It is\
\ a property otherwise.\n# *\n# * @var array<bool>\n# */\n# private array $isIndex\
\ = [];\n# \n# /**\n# * Contains a Boolean for each property in $elements denoting\
\ whether this\n# * element is optional or not.\n# *\n# * @var array<bool>\n#\
\ */\n# private array $isNullSafe = [];\n# \n# /**\n# * String representation\
\ of the path.\n# */\n# private string $pathAsString;\n# \n# /**\n# * Constructs\
\ a property path from a string.\n# *\n# * @throws InvalidArgumentException \
\ If the given path is not a string\n# * @throws InvalidPropertyPathException\
\ If the syntax of the property path is not valid"
- name: __toString
visibility: public
parameters: []
comment: null
- name: getLength
visibility: public
parameters: []
comment: null
- name: getParent
visibility: public
parameters: []
comment: null
- name: getIterator
visibility: public
parameters: []
comment: '# * Returns a new iterator for this path.'
- name: getElements
visibility: public
parameters: []
comment: null
- name: getElement
visibility: public
parameters:
- name: index
comment: null
- name: isProperty
visibility: public
parameters:
- name: index
comment: null
- name: isIndex
visibility: public
parameters:
- name: index
comment: null
- name: isNullSafe
visibility: public
parameters:
- name: index
comment: null
traits:
- Symfony\Component\PropertyAccess\Exception\InvalidArgumentException
- Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException
- Symfony\Component\PropertyAccess\Exception\OutOfBoundsException
interfaces:
- \IteratorAggregate
- \IteratorAggregate