public static function createRoutineWrapper(array $routine,
                                              PhpCodeStore $codeStore,
                                              NameMangler $nameMangler,
                                              bool $lobAsString): Wrapper
  {
    switch ($routine['designation'])
    {
      case 'bulk':
        $wrapper = new BulkWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'bulk_insert':
        $wrapper = new BulkInsertWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'log':
        $wrapper = new LogWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'map':
        $wrapper = new MapWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'none':
        $wrapper = new NoneWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'row0':
        $wrapper = new Row0Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'row1':
        $wrapper = new Row1Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'rows':
        $wrapper = new RowsWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'rows_with_key':
        $wrapper = new RowsWithKeyWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'rows_with_index':
        $wrapper = new RowsWithIndexWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'singleton0':
        $wrapper = new Singleton0Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'singleton1':
        $wrapper = new Singleton1Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'function':
        $wrapper = new FunctionWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'table':
        $wrapper = new TableWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      default:
        throw new FallenException('routine type', $routine['designation']);
    }

    return $wrapper;
  }
public static function createRoutineWrapper(array $routine,
                                              PhpCodeStore $codeStore,
                                              NameMangler $nameMangler,
                                              bool $lobAsString): Wrapper
  {
    switch ($routine['designation'])
    {
      case 'bulk':
        $wrapper = new BulkWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'bulk_insert':
        $wrapper = new BulkInsertWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'log':
        $wrapper = new LogWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'map':
        $wrapper = new MapWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'none':
        $wrapper = new NoneWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'row0':
        $wrapper = new Row0Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'row1':
        $wrapper = new Row1Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'rows':
        $wrapper = new RowsWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'rows_with_key':
        $wrapper = new RowsWithKeyWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'rows_with_index':
        $wrapper = new RowsWithIndexWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'singleton0':
        $wrapper = new Singleton0Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'singleton1':
        $wrapper = new Singleton1Wrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'function':
        $wrapper = new FunctionWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      case 'table':
        $wrapper = new TableWrapper($routine, $codeStore, $nameMangler, $lobAsString);
        break;

      default:
        throw new FallenException('routine type', $routine['designation']);
    }

    return $wrapper;
  }
public static function createRoutineWrapper ( array $ routine , PhpCodeStore $ codeStore , NameMangler $ nameMangler , bool $ lobAsString ) : Wrapper { switch ( $ routine [ 'designation' ] ) { case 'bulk' : $ wrapper = new BulkWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'bulk_insert' : $ wrapper = new BulkInsertWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'log' : $ wrapper = new LogWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'map' : $ wrapper = new MapWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'none' : $ wrapper = new NoneWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'row0' : $ wrapper = new Row0Wrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'row1' : $ wrapper = new Row1Wrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'rows' : $ wrapper = new RowsWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'rows_with_key' : $ wrapper = new RowsWithKeyWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'rows_with_index' : $ wrapper = new RowsWithIndexWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'singleton0' : $ wrapper = new Singleton0Wrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'singleton1' : $ wrapper = new Singleton1Wrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'function' : $ wrapper = new FunctionWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; case 'table' : $ wrapper = new TableWrapper ( $ routine , $ codeStore , $ nameMangler , $ lobAsString ) ; break ; default : throw new FallenException ( 'routine type' , $ routine [ 'designation' ] ) ; } return $ wrapper ; }
A factory for creating the appropriate object for generating a wrapper method for a stored routine.

@param array        $routine     The metadata of the stored routine.
@param PhpCodeStore $codeStore   The code store for the generated code.
@param NameMangler  $nameMangler The mangler for wrapper and parameter names.
@param bool         $lobAsString If set BLOBs and CLOBs are treated as string. Otherwise, BLOBs and CLOBs will be
send as long data.

@return Wrapper
A factory for creating the appropriate object for generating a wrapper method for a stored routine .