/** * 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 } }