/**
  * Attempts to read the uploadable fields.
  *
  * @param string $class The class name to test (FQCN).
  *
  * @return array A list of uploadable fields.
  */
 public function getUploadableFields($class)
 {
     $metadata = $this->reader->getMetadataForClass($class);
     $uploadableFields = array();
     foreach ($metadata->classMetadata as $classMetadata) {
         $uploadableFields = array_merge($uploadableFields, $classMetadata->fields);
     }
     return $uploadableFields;
 }
 /**
  * @param ContainerBuilder                 $container
  * @param string[]                         $directories
  * @param string                           $pattern
  * @param AdvancedMetadataFactoryInterface $factory
  * @param MetadataConverter                $converter
  * @param bool                             $disableGrep
  */
 private function handlePattern(ContainerBuilder $container, $directories, $pattern, $factory, $converter, $disableGrep)
 {
     $finder = new PatternFinder($pattern, '*.php', $disableGrep);
     $files = $finder->findFiles($directories);
     $container->addResource(new ServiceFilesResource($files, $directories, $disableGrep));
     foreach ($files as $file) {
         $container->addResource(new FileResource($file));
         require_once $file;
         $className = $this->getClassName($file);
         if (null === ($metadata = $factory->getMetadataForClass($className))) {
             continue;
         }
         if (null === $metadata->getOutsideClassMetadata()->id) {
             continue;
         }
         if (!$metadata->getOutsideClassMetadata()->isLoadedInEnvironment($container->getParameter('kernel.environment'))) {
             continue;
         }
         foreach ($converter->convert($metadata) as $id => $definition) {
             $container->setDefinition($id, $definition);
         }
     }
 }