Sets the parent entity map.
public SetEntityMap ( Storm\Core\Object\IEntityMap $EntityMap = null ) : void | ||
$EntityMap | Storm\Core\Object\IEntityMap | |
return | void |
/** * Adds a property to the given entity map. * * @param \Storm\Core\Object\IProperty $Property The property to add * @return void * @throws InvalidPropertyException */ private function AddProperty(IProperty $Property) { if ($Property->HasEntityMap()) { if (!$Property->GetEntityMap()->Is($this)) { throw new InvalidPropertyException('The supplied property is registered with another entity map %s.', get_class($Property->GetEntityMap())); } } $Property->SetEntityMap($this); $Identifier = $Property->GetIdentifier(); if ($Property instanceof IDataProperty) { $this->DataProperties[$Identifier] = $Property; if ($Property->IsIdentity()) { $this->IdentityProperties[$Identifier] = $Property; } } else { if ($Property instanceof IEntityProperty) { $this->EntityProperties[$Identifier] = $Property; } else { if ($Property instanceof ICollectionProperty) { $this->CollectionProperties[$Identifier] = $Property; } else { throw new InvalidPropertyException('The supplied property must be of type %s, %s, %s: %s given', IDataProperty::IDataPropertyType, IEntityProperty::IEntityPropertyType, ICollectionProperty::ICollectionPropertyType, get_class($Property)); } } } if ($Property instanceof IRelationshipProperty) { $this->RelationshipProperties[$Identifier] = $Property; } $this->Properties[$Identifier] = $Property; }
public function testEntityMapIsSameAsSet() { $EntityMap = $this->getMockForAbstractClass('\\Storm\\Core\\Object\\EntityMap'); $this->Property->SetEntityMap($EntityMap); $this->assertEquals($this->Property->GetEntityMap(), $EntityMap); }