public getWriter ( Cake\ORM\Entity $entity, array $data, string $field, array $settings ) : Josegonzalez\Upload\File\Path\AbstractProcessor | ||
$entity | Cake\ORM\Entity | an entity |
$data | array | the data being submitted for a save |
$field | string | the field for which data will be saved |
$settings | array | the settings for the current field |
return | Josegonzalez\Upload\File\Path\AbstractProcessor |
public function getWriter(Entity $entity, $data, $field, $settings)
{
$default = 'Josegonzalez\\Upload\\File\\Writer\\DefaultWriter';
$writerClass = Hash::get($settings, 'writer', $default);
if (is_subclass_of($writerClass, 'Josegonzalez\\Upload\\File\\Writer\\WriterInterface')) {
return new $writerClass($this->_table, $entity, $data, $field, $settings);
}
throw new UnexpectedValueException(sprintf("'writer' not set to instance of WriterInterface: %s", $writerClass));
}