/** * Process query to SQL * @param QC $qc * @param mixed $type * @return mixed * @throws MysqlDBAdapterException */ public function buildQuery(QC $qc, $type = null) { if (!$type) { $type = $qc->getType(); } $methodName = 'build' . ucfirst($type); if (method_exists($this, $methodName)) { $result = $this->{$methodName}($qc); } else { throw new MysqlDBAdapterException('Invalid method specified: ' . $type); } return $result; }