for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive;
use Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive\GraphicPrimitiveType;
use Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive\FieldRendererOutlineBox;
use Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive\FieldRendererFilledBox;
use Graze\CiffRenderer\Exception\UnsupportedFieldTypeException;
class GraphicPrimitiveFactory
{
/**
* @param string $graphicPrimitiveType
* @return \Graze\CiffRenderer\Renderer\FieldRenderer\FieldRendererInterface
*/
public function getFieldRenderer($graphicPrimitiveType)
switch ($graphicPrimitiveType) {
case GraphicPrimitiveType::TYPE_OUTLINE_BOX:
$class = FieldRendererOutlineBox::class;
break;
case GraphicPrimitiveType::TYPE_FILLED_BOX:
$class = FieldRendererFilledBox::class;
default:
throw new UnsupportedFieldTypeException($graphicPrimitiveType);
}
return $class::factory();