/** * @return Definition */ public function createDefinition() { $definition = new Definition(new ClassName(Recipe::class), new Definition\Identity("name"), new IdentificationStrategy($this->storage)); $definition->setObserved([new Definition\Property("steps"), new Definition\Property("publicationDate"), new Definition\Property("description")]); $definition->setEditCommandHandler(new EditCommandHandler($this->storage, $this->searchEngine)); $definition->setNewCommandHandler(new NewCommandHandler($this->storage, $this->searchEngine)); $definition->setRemoveCommandHandler(new RemoveCommandHandler($this->storage, $this->searchEngine)); return $definition; }
public static function buildDefinition() { $definition = new Definition( new ClassName(EntityFake::getClassName()), new Definition\Identity("id") ); $definition->setObserved([ new Definition\Property("firstName"), new Definition\Property("lastName") ]); return $definition; }
/** * @return Definition */ private function createAssociatedEntityDefinition() { $definition = new Definition(new ClassName(AssociatedEntityFake::getClassName()), new Definition\Identity("id")); $parentAssociation = new Definition\Association(new ClassName(AssociatedEntityFake::getClassName()), Definition\Association::TO_SINGLE_ENTITY); $definition->setObserved([new Definition\Property("parent", $parentAssociation), new Definition\Property("children", $this->createChildrenAssociation()), new Definition\Property("name")]); return $definition; }
/** * @return \Isolate\UnitOfWork\Entity\Definition */ private function createFakeEntityDefinition() { $definition = new Definition(new ClassName(EntityFake::getClassName()), new Identity("id")); $definition->setObserved([new Property("firstName"), new Property("lastName"), new Property("items")]); $definition->setNewCommandHandler($this->newCommandHandler); $definition->setEditCommandHandler($this->editCommandHandler); $definition->setRemoveCommandHandler($this->removeCommandHandler); return $definition; }