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