relations = array(); parent::__construct( $this->relations ); } /** * See SPL interface ArrayAccess. * * @param string $offset * @param ezcPersistentObjectProperty $value * @return void */ public function offsetSet( $offset, $value ) { if ( ( $value instanceof ezcPersistentObjectProperty ) === false && ( $value instanceof ezcPersistentObjectIdProperty ) === false ) { throw new ezcBaseValueException( 'value', $value, 'ezcPersistentObjectProperty' ); } if ( !is_string( $offset ) || strlen( $offset ) < 1 ) { throw new ezcBaseValueException( 'offset', $offset, 'string, length > 0' ); } parent::offsetSet( $offset, $value ); } /** * See SPL class ArrayObject. * Performs additional value checks on the array. * * @param array(ezcPersistentObjectProperty) $array New relations array. * @return void */ public function exchangeArray( $array ) { foreach ( $array as $offset => $value ) { if ( ( $value instanceof ezcPersistentObjectProperty ) === false && ( $value instanceof ezcPersistentObjectIdProperty ) === false ) { throw new ezcBaseValueException( 'value', $value, 'ezcPersistentObjectProperty' ); } if ( !is_string( $offset ) || strlen( $offset ) < 1 ) { throw new ezcBaseValueException( 'offset', $offset, 'string, length > 0' ); } } parent::exchangeArray( $array ); } /** * See SPL class ArrayObject. * Performs check if only 0 is used as a flag. * * @param int $flags Must be 0. * @return void */ public function setFlags( $flags ) { if ( $flags !== 0 ) { throw new ezcBaseValueException( 'flags', $flags, '0' ); } } /** * Appending is not supported. * * @param mixed $value * @return void */ public function append( $value ) { throw new Exception( 'Operation append is not supported by this object.' ); } } ?>