<?php declare(strict_types=1);
namespace Shopware\Core\Content\Product\Aggregate\ProductCrossSelling;
use Shopware\Core\Content\Product\Aggregate\ProductCrossSellingAssignedProducts\ProductCrossSellingAssignedProductsCollection;
use Shopware\Core\Content\Product\Aggregate\ProductCrossSellingTranslation\ProductCrossSellingTranslationCollection;
use Shopware\Core\Content\Product\ProductEntity;
use Shopware\Core\Content\ProductStream\ProductStreamEntity;
use Shopware\Core\Framework\DataAbstractionLayer\Entity;
use Shopware\Core\Framework\DataAbstractionLayer\EntityIdTrait;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting;
use Shopware\Core\Framework\Log\Package;
#[Package('inventory')]
class ProductCrossSellingEntity extends Entity
{
use EntityIdTrait;
/**
* @var string|null
*/
protected $name;
/**
* @var int
*/
protected $position;
/**
* @var string
*/
protected $sortBy;
/**
* @var string
*/
protected $sortDirection;
/**
* @var int
*/
protected $limit;
/**
* @var bool
*/
protected $active;
/**
* @var string
*/
protected $productId;
/**
* @var ProductEntity|null
*/
protected $product;
/**
* @var string
*/
protected $productStreamId;
/**
* @var ProductStreamEntity|null
*/
protected $productStream;
/**
* @var string
*/
protected $type;
/**
* @var ProductCrossSellingAssignedProductsCollection|null
*/
protected $assignedProducts;
/**
* @var ProductCrossSellingTranslationCollection|null
*/
protected $translations;
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): void
{
$this->name = $name;
}
public function getPosition(): int
{
return $this->position;
}
public function setPosition(int $position): void
{
$this->position = $position;
}
public function getSortBy(): string
{
return $this->sortBy;
}
public function setSortBy(string $sortBy): void
{
$this->sortBy = $sortBy;
}
public function getSortDirection(): string
{
return $this->sortDirection;
}
public function setSortDirection(string $sortDirection): void
{
$this->sortDirection = $sortDirection;
}
public function isActive(): bool
{
return $this->active;
}
public function setActive(bool $active): void
{
$this->active = $active;
}
public function getLimit(): int
{
return $this->limit;
}
public function setLimit(int $limit): void
{
$this->limit = $limit;
}
public function getProductId(): string
{
return $this->productId;
}
public function setProductId(string $productId): void
{
$this->productId = $productId;
}
public function getProduct(): ?ProductEntity
{
return $this->product;
}
public function setProduct(ProductEntity $product): void
{
$this->product = $product;
}
public function getProductStreamId(): ?string
{
return $this->productStreamId;
}
public function setProductStreamId(string $productStreamId): void
{
$this->productStreamId = $productStreamId;
}
public function getProductStream(): ?ProductStreamEntity
{
return $this->productStream;
}
public function setProductStream(ProductStreamEntity $productStream): void
{
$this->productStream = $productStream;
}
public function getTranslations(): ?ProductCrossSellingTranslationCollection
{
return $this->translations;
}
public function setTranslations(ProductCrossSellingTranslationCollection $translations): void
{
$this->translations = $translations;
}
public function getSorting(): FieldSorting
{
return new FieldSorting($this->sortBy, $this->sortDirection);
}
public function getType(): string
{
return $this->type;
}
public function setType(string $type): void
{
$this->type = $type;
}
public function getAssignedProducts(): ?ProductCrossSellingAssignedProductsCollection
{
return $this->assignedProducts;
}
public function setAssignedProducts(ProductCrossSellingAssignedProductsCollection $assignedProducts): void
{
$this->assignedProducts = $assignedProducts;
}
}