* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org * * @template T * @implements \ArrayAccess * @implements \IteratorAggregate */ interface RecordInterface extends ArrayAccess, Serializable, JsonSerializable, IteratorAggregate { /** * Returns all properties which are set * * @return array */ public function getProperties(): array; /** * Sets the available properties * * @param array $properties * @return void */ public function setProperties(array $properties): void; /** * Returns a property * * @param string $name * @return T|null */ public function getProperty(string $name); /** * Sets a property * * @param string $name * @param T $value * @return void */ public function setProperty(string $name, $value): void; /** * Removes a property * * @param string $name * @return void */ public function removeProperty(string $name): void; /** * Returns whether a property exist * * @param string $name * @return boolean */ public function hasProperty(string $name): bool; /** * Returns whether the record is empty * * @return boolean */ public function isEmpty(): bool; /** * Iterates through all entries and adds them to the record * * @param iterable $record */ public function merge(iterable $record): void; /** * Filters specific entries out of the map * * @param \Closure $filter */ public function filter(\Closure $filter): void; /** * Applies a callback on each value of the map * * @param \Closure $filter */ public function map(\Closure $filter): void; } __halt_compiler();----SIGNATURE:----wrMctg9+Sd/qbuX+cjMFb1zdBZA30RXRzQyXEEZfVBp5yLpcYpHEFwOknsK63YKEr1tcGCsPFgUey7yDng03Be8sCOEtkJ20BQfJNgQvHA9yFfuab2z6B38P8D+EqG2wOI/zcNQNwl7+0m5D6Iw9upBEKngm9og02AsnBUZAm1uQDXUNupI7Xm7g6Aa4crPPegU0Syh9BNtw4Qj/YB37MkWaBUjMGnvISAQ8AbeZ/+ErPC4AsHBKq73TsgjSNYv3iqr15SIPrGA2la7zdEPZUHZ0OdUPevR2ZnkT9qAJmuJzg4qox+axrDi3GIXtfpJ3B/Kze7LI+0S83SQ5kMnn389z8HS267IJrVn5YpNLxXsnosrM1BBC2x8EJY1AIn/kagHzXwPnQ+srelUP0++QRLfeO8OH2KNKnVAQVoAM37vcDn8lhAGy+Oq0RUum0T5TfxLXwZ76POgo4sZlQ0MsXJuxKh9GfS/vurqyrzaB/f03mseSWkXNOWTlWLTsZsOg7VHta+D/84qdoq4rEvXoTRnEq3XRTXWvBKGjhWnPk9FUIULJhzJBKLSjdfqOLrxOV+wYpDeNLVGQy9aSl0wKNC/5M2/2jiPCcbZysSEYBFZRyaVyUDNTX6Df57gFBhv2ryEsAfTMVcrNgoIuehVeVdPTgGSRJiaYcC+FMseltZU=----ATTACHMENT:----MzQ1NzIyNDIyNjkzMTQ2MyA1Njg2ODE5OTk1OTExMjY2IDQyMDg1MzczNzYyNDE3Mjc=