/**
  * {@inheritdoc}
  */
 public function getInterceptors(Repository $repository)
 {
     $interceptors = array();
     $ids = array('modera_file_repository.validation.file_properties_validation_interceptor');
     $config = $repository->getConfig();
     if (isset($config['interceptors']) && is_array($config['interceptors'])) {
         $ids = array_merge($ids, $config['interceptors']);
     }
     foreach ($ids as $id) {
         $interceptors[] = $this->container->get($id);
     }
     return $interceptors;
 }
 /**
  * {@inheritdoc}
  */
 public function beforePut(\SplFileInfo $file, Repository $repository)
 {
     $config = $repository->getConfig();
     $wrapper = new FileWrapper($file);
     if (isset($config['images_only']) && true === $config['images_only']) {
         $wrapper->addImageConstraint();
     }
     if (isset($config['max_size']) && '' != $config['max_size']) {
         $wrapper->addFileConstraint(array('maxSize' => $config['max_size']));
     }
     if (isset($config['file_constraint']) && is_array($config['file_constraint'])) {
         $wrapper->addFileConstraint($config['file_constraint']);
     }
     if (isset($config['image_constraint']) && is_array($config['image_constraint'])) {
         $wrapper->addImageConstraint($config['image_constraint']);
     }
     $errors = $wrapper->validate($this->validator);
     if (count($errors)) {
         throw FileValidationException::create($file, $errors, $repository);
     }
 }