Exemple #1
0
 /**
  * Fábrica de Reflection
  *
  * a fabrica de reflaxao trabalha em conjunto com a anotacao do valueObject e o objeto de
  * conexao, sendo o primeiro necessario para obter a entidade de armazena definida na primeira
  * parte da annotacao. ja o segundo param (connect) eh utilizado para obter as propriedades
  * da entidade propriamente dito.
  *
  * O primeiro paramentro ($source) pode varia em dois tipos namespace do ValueObject ou um
  * objeto deste para que se possa recuperar sua anotacao.
  *
  * @param [string | Valueobject] $source
  * @param Connect $connect
  * @return Reflection
  * @throws IllegalArgumentException
  * */
 public static function factory($source, Connect $connect)
 {
     $tmpNSReflection = __NAMESPACE__ . self::NAMESPACE_SEPARATOR . 'adapter' . self::NAMESPACE_SEPARATOR . $connect->getAdapter() . self::NAMESPACE_SEPARATOR . $connect->getDriver() . self::NAMESPACE_SEPARATOR . 'Reflection';
     try {
         return $tmpNSReflection::factory($source, $connect);
     } catch (IllegalArgumentException $illExc) {
         // @codeCoverageIgnoreStart
         throw $illExc;
         // @codeCoverageIgnoreEnd
     }
 }
Exemple #2
0
 /**
  * Fábrica de Reflection.
  *
  * @param string $source
  * @param Connect $connect
  * @return Reflection
  * @throws IllegalArgumentException
  * */
 public static function factory($source, Connect $connect)
 {
     $annon = NULL;
     if (is_string($source)) {
         $annon = ValueObjectAbstract::factory($source, array())->annotation();
     } elseif ($source instanceof ValueObjectAbstract) {
         $annon = $source->annotation();
     } else {
         throw new IllegalArgumentException(self::REFLECTION_INVALID_SOURCE);
     }
     $reflect = new self($annon, $connect);
     $reflect->_source = $connect->getSource();
     $reflect->_loadProperties($reflect->_source);
     return $reflect;
 }
Exemple #3
0
 /**
  * Construtor.
  *
  * @param Config $config
  * @throws PersistException
  * */
 public function __construct(Config $config)
 {
     parent::__construct($config);
 }
 /**
  * recupera meta informacao do valueObject informado
  *
  * @param stdClass $annon
  * @param string $dataSource
  * */
 public function meta(\stdClass $annon, $dataSource)
 {
     $config = PersistConfig::factory($dataSource, self::$persistConfig->toArray());
     $data = MetaAbstract::factory(Connect::factory($config))->data($this->safeToggle($annon, 'schema', NULL), $this->safeToggle($annon, 'entity', NULL));
     $this->merge($annon, $data);
 }
Exemple #5
0
 /**
  * Construtor.
  *
  * @param PersistConfig $config
  * @throws PersistException
  * */
 public function __construct(Config $config)
 {
     parent::__construct($config);
     $this->_directory = $config->get('directory');
     $this->_sourceDn = $config->get('source');
 }