Example #1
0
 /**
  * @param mixed $data
  *
  * @return Configuration
  */
 protected function buildConfiguration($data)
 {
     $this->typeCheck->buildConfiguration(func_get_args());
     $this->validateData($data);
     $configuration = new Configuration($data->{'output-path'}, $data->{'source-paths'});
     if (property_exists($data, ConfigurationOption::LOADER_PATHS()->value())) {
         $configuration->setLoaderPaths($data->{'loader-paths'});
     }
     if (property_exists($data, ConfigurationOption::VALIDATOR_NAMESPACE()->value())) {
         $configuration->setValidatorNamespace(ClassName::fromString($data->{'validator-namespace'}));
     }
     if (property_exists($data, ConfigurationOption::USE_NATIVE_CALLABLE()->value())) {
         $configuration->setUseNativeCallable($data->{'use-native-callable'});
     }
     return $configuration;
 }