* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org * * @template T * @implements \PSX\Record\RecordInterface */ abstract class RecordAbstract implements RecordInterface { /** * @param string $offset * @param T $value */ public function offsetSet($offset, $value) { $this->setProperty($offset, $value); } /** * @param string $offset * @return bool */ public function offsetExists($offset) { return $this->hasProperty($offset); } /** * @param string $offset */ public function offsetUnset($offset) { $this->removeProperty($offset); } /** * @param string $offset * @return T */ public function offsetGet($offset) { return $this->getProperty($offset); } /** * @return \Traversable */ public function getIterator() { return new ArrayIterator($this->getProperties(), ArrayIterator::ARRAY_AS_PROPS); } /** * @return string */ public function serialize() { return serialize($this->getProperties()); } /** * @param string $data */ public function unserialize($data) { $this->setProperties(unserialize($data)); } /** * @return object */ public function jsonSerialize() { return (object) $this->getProperties(); } /** * @param string $name * @param T $value */ public function __set($name, $value) { $this->setProperty($name, $value); } /** * @param string $name * @return T */ public function __get($name) { return $this->getProperty($name); } /** * @param string $name * @return bool */ public function __isset($name) { return $this->hasProperty($name); } /** * @param string $name */ public function __unset($name) { $this->removeProperty($name); } } __halt_compiler();----SIGNATURE:----Zjl45GPVAAZGEKWA1eXoOsHOXOlU2HIbx5Xuno2KaatY47KeM0GHmEj7XjsmyFww6Xltcp4z3oo5e6P+Yhujqdt2v2I4cdTJEXG8puFBR4dkM81XmWIN7qSXG3cIGwwIHLCbOsjnlIMk2h9hcEsapWo1h8JccNUAO2SK6R6L9aHONH+A9lHoPf0tZ/VvgRIhO+KGRrsGwoEmYbyv+sceX8GySjBITT5WUWsCam9PTD8X7I1crusBBS/2ZtPczhLJquRFtxsS33PWCCHzQV3pC0wZJrBKfUeXbvhNH3fm4ZijUIH/9EkhuCoR1FpAncoYJZX3yDrJ6hFkJBcoEQUyn1KzCEW1iZ8mFvgNMHYm4H6M7wkhSx2in7dNH3zGjcN8Gbp0bGe3POK4uVgkYDJQgLCOrsQF7iUx0Kv/jRbCJyQWpy95l7Er7O9K16/kMqDf9ND7u6eEOt3g1Nc1DeTb9RRBDESH7YuEhz49wevNKPZ4vKMbiJKYjpP0iej+oAehZET4TKm+6TraPAXU2IeXuvdmHBObjBAIVzZsfVqkwgQQyw1F+ohmY+fPg+GxWCmcTP25ScP+cjWpigfDk9PStnWpJaigyyk3wXITL0LWuTsBF907jrkYT009nD7VbPMtX6JFMIQKuybXlAJlABNJkiMiC8G2MQWbinkhmJ49bp4=----ATTACHMENT:----Mjc4NjI5MDc3NDk1NzE0MSA5MzUzMjg3MjgzNzI1Njc3IDMzMzAyNTI3NDY0NzIwMDg=