* ' => ArrayObject( * '' => ezcPersistentObject, * '' => ezcPersistentObject, * // ... * ), * '' => ArrayObject( * '' => ezcPersistentObject, * '' => ezcPersistentObject, * // ... * ), * // ... * ); * ?> * * * @var array(string=>ArrayObject(mixed=>ezcPersistentObject)) */ public $relatedObjects; /** * Named sets of related objects. * * Structure: * * * ' => ArrayObject( * ' array( * '' => ezcPersistentObject, * '' => ezcPersistentObject, * // ... * ), * ' ArrayObject( * '' => ezcPersistentObject, * '' => ezcPersistentObject, * // ... * ), * ), * // ... * ); * ?> * * * @var array(string=>ArrayObject(mixed=>ezcPersistentObject)) */ public $namedRelatedObjectSets; /** * Stores all references to $object in other identities. * * This attribute stores references to all $relatedObjects and * $namedRelatedObjectSets sets, the $object of this identity is referenced * in. * * @var SplObjectStorage(ArrayObject) */ public $references; /** * Creates a new object identity. * * Creates an identity struct for $object with relations to its * $relatedObjects and $namedRelatedObjectSets. The $references object is * used to keep track of places where the $object is referenced (related * object sets of other identities). * * @param object $object * @param array $relatedObjects * @param array $namedRelatedObjectSets * @param SplObjectStorage $references */ public function __construct( $object = null, array $relatedObjects = array(), array $namedRelatedObjectSets = array(), SplObjectStorage $references = null ) { $this->object = $object; $this->relatedObjects = $relatedObjects; $this->namedRelatedObjectSets = $namedRelatedObjectSets; $this->references = ( $references === null ? new SplObjectStorage() : $references ); } } ?>