1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-18 13:10:08 -07:00

Update LDraw entities

This commit is contained in:
David Hübner 2017-03-10 23:19:53 +01:00
parent a2a87fc8dc
commit bbf1a10fc1
6 changed files with 722 additions and 222 deletions

View File

@ -0,0 +1,115 @@
<?php
namespace AppBundle\Entity\LDraw;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Category.
*
* @ORM\Table(name="ldraw_category")
* @ORM\Entity
*/
class Category
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, unique=true)
*/
private $name;
/**
* @var Collection
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\LDraw\Part", mappedBy="category")
*/
private $parts;
/**
* BuildingKit constructor.
*/
public function __construct()
{
$this->parts = new ArrayCollection();
}
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name.
*
* @param string $name
*
* @return Category
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Get parts.
*
* @return ArrayCollection
*/
public function getParts()
{
return $this->parts;
}
/**
* @param Part $part
*
* @return Category
*/
public function addPart(Part $part)
{
$this->parts->add($part);
return $this;
}
/**
* @param Part $part
*
* @return Category
*/
public function removePart(Part $part)
{
$this->parts->remove($part);
return $this;
}
}

View File

@ -0,0 +1,114 @@
<?php
namespace AppBundle\Entity\LDraw;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* Keyword.
*
* @ORM\Table(name="ldraw_keyword")
* @ORM\Entity
*/
class Keyword
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, unique=true)
*/
private $name;
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\LDraw\Part", mappedBy="keywords")
*/
private $parts;
/**
* Keyword constructor.
*/
public function __construct()
{
$this->parts = new ArrayCollection();
}
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name.
*
* @param string $name
*
* @return Keyword
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Get models.
*
* @return ArrayCollection
*/
public function getParts()
{
return $this->parts;
}
/**
* @param Part $part
*
* @return Keyword
*/
public function addPart(Part $part)
{
$this->parts->add($part);
return $this;
}
/**
* @param Part $part
*
* @return Keyword
*/
public function removeModel(Part $part)
{
$this->parts->removeElement($part);
return $this;
}
}

View File

@ -0,0 +1,134 @@
<?php
namespace AppBundle\Entity\LDraw;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Model.
*
* @ORM\Table(name="ldraw_model")
* @ORM\Entity
*/
class Model
{
/**
* @var string
*
* @ORM\Column(type="string")
* @ORM\Id
* @ORM\Column(type="string", length=255, unique=true)
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string", length=255, nullable=false)
*/
private $file;
/**
* @var string
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $author;
/**
* @var \DateTime
*
* @ORM\Column(type="datetime", nullable=true)
*/
private $modified;
// /**
// * @var Collection
// *
// * @ORM\OneToMany(targetEntity="AppBundle\Entity\Part", mappedBy="model")
// */
// private $parts;
/**
* @param string $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* Get id.
*
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* @return string
*/
public function getFile()
{
return $this->file;
}
/**
* @param string $file
*
* @return Model
*/
public function setFile($file)
{
$this->file = $file;
return $this;
}
/**
* Set author.
*
* @param string $author
*
* @return Model
*/
public function setAuthor($author)
{
$this->author = $author;
return $this;
}
/**
* Get author.
*
* @return string
*/
public function getAuthor()
{
return $this->author;
}
/**
* @return \DateTime
*/
public function getModified()
{
return $this->modified;
}
/**
* @param \DateTime $modified
*
* @return Model
*/
public function setModified($modified)
{
$this->modified = $modified;
return $this;
}
}

View File

@ -0,0 +1,254 @@
<?php
namespace AppBundle\Entity\LDraw;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Part.
*
* @ORM\Entity
* @ORM\Table(name="ldraw_part")
*/
class Part
{
/**
* @var string
* @ORM\Id
* @ORM\Column(type="string", length=255, unique=true)
*/
private $id;
/**
* @var Type
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Type", inversedBy="parts", cascade={"persist"})
*/
private $type;
/**
* @var string
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $name;
/**
* @var Category
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Category", inversedBy="parts", cascade={"persist"})
*/
private $category;
/**
* @var Part
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Part",cascade={"persist"})
*/
private $printOf;
/**
* @var Part
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Part",cascade={"persist"})
*/
private $aliasOf;
/**
* @var Model
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Model", cascade={"persist"})
*/
private $model;
/**
* @var Collection
*
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\LDraw\Keyword", inversedBy="parts", cascade={"persist"})
*/
private $keywords;
public function __construct()
{
$this->keywords = new ArrayCollection();
}
/**
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* @param string $id
*
* @return Part
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* @param string $type
*/
public function setType($type)
{
$this->type = $type;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return Category
*/
public function getCategory()
{
return $this->category;
}
/**
* @param Collection $category
*
* @return Part
*/
public function setCategory(Category $category)
{
$this->category = $category;
return $this;
}
/**
* @return Part
*/
public function getPrintOf()
{
return $this->printOf;
}
/**
* @param Part $printOf
*
* @return Part
*/
public function setPrintOf($printOf)
{
$this->printOf = $printOf;
return $this;
}
/**
* @return Part
*/
public function getAliasOf()
{
return $this->aliasOf;
}
/**
* @param Part $printOf
*
* @return Part
*/
public function setAliasOf($aliasOf)
{
$this->aliasOf = $aliasOf;
return $this;
}
/**
* @return Model
*/
public function getModel()
{
if (!$this->model) {
if ($this->printOf) {
return $this->printOf->getModel();
} elseif ($this->aliasOf) {
return $this->aliasOf->getModel();
}
}
return $this->model;
}
/**
* @param Model $model
*
* @return Part
*/
public function setModel($model)
{
$this->model = $model;
return $this;
}
/**
* Get keywords.
*
* @return Collection
*/
public function getKeywords()
{
return $this->keywords;
}
/**
* @param Keyword $keyword
*
* @return Part
*/
public function addKeyword(Keyword $keyword)
{
if (!$this->keywords->contains($keyword)) {
$this->keywords->add($keyword);
$keyword->addPart($this);
}
return $this;
}
/**
* @param Keyword $keyword
*
* @return Part
*/
public function removePart(Keyword $keyword)
{
$this->keywords->removeElement($keyword);
return $this;
}
}

View File

@ -0,0 +1,105 @@
<?php
namespace AppBundle\Entity\LDraw;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Type.
*
* @ORM\Table(name="ldraw_type")
* @ORM\Entity
*/
class Type
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string", length=60, unique=true)
*/
private $name;
/**
* @var Collection
*
* @ORM\OneToMany(targetEntity="Part", mappedBy="type")
*/
private $parts;
/**
* BuildingKit constructor.
*/
public function __construct()
{
$this->parts = new ArrayCollection();
}
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* Get parts.
*
* @return ArrayCollection
*/
public function getParts()
{
return $this->parts;
}
/**
* @param Part $part
*
* @return Type
*/
public function addPart(Part $part)
{
$this->parts->add($part);
return $this;
}
/**
* @param Part $part
*
* @return Type
*/
public function removePart(Part $part)
{
$this->parts->remove($part);
return $this;
}
}

View File

@ -1,222 +0,0 @@
<?php
namespace AppBundle\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Model.
*
* @ORM\Table(name="model")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ModelRepository")
*/
class Model
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=true)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="number", type="string", length=255, unique=true)
*/
private $number;
/**
* @var string
*
* @ORM\Column(name="author", type="string", length=255, nullable=true)
*/
private $author;
/**
* @var string
*
* @ORM\Column(name="file", type="string", length=255, unique=true, nullable=true)
*/
private $file;
/**
* @var Collection
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Part", mappedBy="model")
*/
private $parts;
/**
* @var Category
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Category", inversedBy="models", cascade={"persist"})
*/
private $category;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* Set number.
*
* @param string $number
*
* @return Model
*/
public function setNumber($number)
{
$this->number = $number;
return $this;
}
/**
* Get number.
*
* @return string
*/
public function getNumber()
{
return $this->number;
}
/**
* Set author.
*
* @param string $author
*
* @return Model
*/
public function setAuthor($author)
{
$this->author = $author;
return $this;
}
/**
* Get author.
*
* @return string
*/
public function getAuthor()
{
return $this->author;
}
/**
* Set file.
*
* @param string $file
*
* @return Model
*/
public function setFile($file)
{
$this->file = $file;
return $this;
}
/**
* Get file.
*
* @return string
*/
public function getFile()
{
return $this->file;
}
/**
* Get parts.
*
* @return Collection
*/
public function getParts()
{
return $this->parts;
}
/**
* @param Part $part
*
* @return Model
*/
public function addPart(Part $part)
{
$this->parts->add($part);
return $this;
}
/**
* @param Part $part
*
* @return Model
*/
public function removePart(Part $part)
{
$this->parts->remove($part);
return $this;
}
/**
* Set category.
*
* @param Category $category
*
* @return Model
*/
public function setCategory(Category $category)
{
$category->addModel($this);
$this->category = $category;
return $this;
}
/**
* Get category.
*
* @return Category
*/
public function getCategory()
{
return $this->category;
}
}