<?php

/**
 *
 * 
 *
 * Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
 *
 */
 

  namespace Org\Apache\Lens\Api {

    /**
     * 
     */
    class DateTime  {
    
    
      /**
       * (no documentation provided)
       */
      private $date;

      /**
       * Constructs a DateTime from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getDate() {
        return $this->date;
      }
      
      /**
       * (no documentation provided)
       */
      public function setDate($date) {
        $this->date = $date;
      }
      /**
       * Returns the associative array for this DateTime
       */
      public function toArray() {
        $a = array();
        if( $this->date ) {
          $a["date"] = $this->date;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this DateTime
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this DateTime from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['date']) ) {
          $this->date = $o["date"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api {

    /**
     * 
     */
    class LensSessionHandle  {
    
    
      /**
       * (no documentation provided)
       */
      private $secretId;
      /**
       * (no documentation provided)
       */
      private $publicId;

      /**
       * Constructs a LensSessionHandle from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getSecretId() {
        return $this->secretId;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSecretId($secretId) {
        $this->secretId = $secretId;
      }
      /**
       * (no documentation provided)
       */
      public function getPublicId() {
        return $this->publicId;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPublicId($publicId) {
        $this->publicId = $publicId;
      }
      /**
       * Returns the associative array for this LensSessionHandle
       */
      public function toArray() {
        $a = array();
        if( $this->secretId ) {
          $a["secretId"] = $this->secretId;
        }
        if( $this->publicId ) {
          $a["publicId"] = $this->publicId;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this LensSessionHandle
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this LensSessionHandle from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['secretId']) ) {
          $this->secretId = $o["secretId"];
        }
        if( isset($o['publicId']) ) {
          $this->publicId = $o["publicId"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api {

    /**
     * 
     */
    class StringList  {
    
    
      /**
       * (no documentation provided)
       */
      private $elements;

      /**
       * Constructs a StringList from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getElements() {
        return $this->elements;
      }
      
      /**
       * (no documentation provided)
       */
      public function setElements($elements) {
        $this->elements = $elements;
      }
      /**
       * Returns the associative array for this StringList
       */
      public function toArray() {
        $a = array();
        if( $this->elements ) {
          $ab = array();
          foreach( $this->elements as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['elements'] = $ab;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this StringList
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this StringList from an associative array
       */
      public function initFromArray($o) {
        $this->elements = array();
        if( isset($o['elements']) ) {
          foreach( $o['elements'] as $i => $x ) {
            $this->elements[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class LensPreparedQuery  {
    
    
      /**
       * (no documentation provided)
       */
      private $conf;
      /**
       * (no documentation provided)
       */
      private $preparedTime;
      /**
       * (no documentation provided)
       */
      private $prepareHandle;
      /**
       * (no documentation provided)
       */
      private $selectedDriverClassName;
      /**
       * (no documentation provided)
       */
      private $userQuery;
      /**
       * (no documentation provided)
       */
      private $driverQuery;
      /**
       * (no documentation provided)
       */
      private $preparedUser;

      /**
       * Constructs a LensPreparedQuery from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getConf() {
        return $this->conf;
      }
      
      /**
       * (no documentation provided)
       */
      public function setConf($conf) {
        $this->conf = $conf;
      }
      /**
       * (no documentation provided)
       */
      public function getPreparedTime() {
        return $this->preparedTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPreparedTime($preparedTime) {
        $this->preparedTime = $preparedTime;
      }
      /**
       * (no documentation provided)
       */
      public function getPrepareHandle() {
        return $this->prepareHandle;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPrepareHandle($prepareHandle) {
        $this->prepareHandle = $prepareHandle;
      }
      /**
       * (no documentation provided)
       */
      public function getSelectedDriverClassName() {
        return $this->selectedDriverClassName;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSelectedDriverClassName($selectedDriverClassName) {
        $this->selectedDriverClassName = $selectedDriverClassName;
      }
      /**
       * (no documentation provided)
       */
      public function getUserQuery() {
        return $this->userQuery;
      }
      
      /**
       * (no documentation provided)
       */
      public function setUserQuery($userQuery) {
        $this->userQuery = $userQuery;
      }
      /**
       * (no documentation provided)
       */
      public function getDriverQuery() {
        return $this->driverQuery;
      }
      
      /**
       * (no documentation provided)
       */
      public function setDriverQuery($driverQuery) {
        $this->driverQuery = $driverQuery;
      }
      /**
       * (no documentation provided)
       */
      public function getPreparedUser() {
        return $this->preparedUser;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPreparedUser($preparedUser) {
        $this->preparedUser = $preparedUser;
      }
      /**
       * Returns the associative array for this LensPreparedQuery
       */
      public function toArray() {
        $a = array();
        if( $this->conf ) {
          $a["conf"] = $this->conf->toArray();
        }
        if( $this->preparedTime ) {
          $a["preparedTime"] = $this->preparedTime;
        }
        if( $this->prepareHandle ) {
          $a["prepareHandle"] = $this->prepareHandle->toArray();
        }
        if( $this->selectedDriverClassName ) {
          $a["selectedDriverClassName"] = $this->selectedDriverClassName;
        }
        if( $this->userQuery ) {
          $a["userQuery"] = $this->userQuery;
        }
        if( $this->driverQuery ) {
          $a["driverQuery"] = $this->driverQuery;
        }
        if( $this->preparedUser ) {
          $a["preparedUser"] = $this->preparedUser;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this LensPreparedQuery
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this LensPreparedQuery from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['conf']) ) {
          $this->conf = new \Org\Apache\Lens\Api\LensConf($o["conf"]);
        }
        if( isset($o['preparedTime']) ) {
          $this->preparedTime = $o["preparedTime"];
        }
        if( isset($o['prepareHandle']) ) {
          $this->prepareHandle = new \Org\Apache\Lens\Api\Query\QueryPrepareHandle($o["prepareHandle"]);
        }
        if( isset($o['selectedDriverClassName']) ) {
          $this->selectedDriverClassName = $o["selectedDriverClassName"];
        }
        if( isset($o['userQuery']) ) {
          $this->userQuery = $o["userQuery"];
        }
        if( isset($o['driverQuery']) ) {
          $this->driverQuery = $o["driverQuery"];
        }
        if( isset($o['preparedUser']) ) {
          $this->preparedUser = $o["preparedUser"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class LensQuery  {
    
    
      /**
       * (no documentation provided)
       */
      private $driverOpHandle;
      /**
       * (no documentation provided)
       */
      private $queryHandle;
      /**
       * (no documentation provided)
       */
      private $closedTime;
      /**
       * (no documentation provided)
       */
      private $driverQuery;
      /**
       * (no documentation provided)
       */
      private $selectedDriverClassName;
      /**
       * (no documentation provided)
       */
      private $status;
      /**
       * (no documentation provided)
       */
      private $launchTime;
      /**
       * (no documentation provided)
       */
      private $resultSetPath;
      /**
       * (no documentation provided)
       */
      private $queryName;
      /**
       * (no documentation provided)
       */
      private $driverFinishTime;
      /**
       * (no documentation provided)
       */
      private $driverStartTime;
      /**
       * (no documentation provided)
       */
      private $isPersistent;
      /**
       * (no documentation provided)
       */
      private $submissionTime;
      /**
       * (no documentation provided)
       */
      private $queryConf;
      /**
       * (no documentation provided)
       */
      private $finishTime;
      /**
       * (no documentation provided)
       */
      private $submittedUser;
      /**
       * (no documentation provided)
       */
      private $priority;
      /**
       * (no documentation provided)
       */
      private $userQuery;

      /**
       * Constructs a LensQuery from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getDriverOpHandle() {
        return $this->driverOpHandle;
      }
      
      /**
       * (no documentation provided)
       */
      public function setDriverOpHandle($driverOpHandle) {
        $this->driverOpHandle = $driverOpHandle;
      }
      /**
       * (no documentation provided)
       */
      public function getQueryHandle() {
        return $this->queryHandle;
      }
      
      /**
       * (no documentation provided)
       */
      public function setQueryHandle($queryHandle) {
        $this->queryHandle = $queryHandle;
      }
      /**
       * (no documentation provided)
       */
      public function getClosedTime() {
        return $this->closedTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setClosedTime($closedTime) {
        $this->closedTime = $closedTime;
      }
      /**
       * (no documentation provided)
       */
      public function getDriverQuery() {
        return $this->driverQuery;
      }
      
      /**
       * (no documentation provided)
       */
      public function setDriverQuery($driverQuery) {
        $this->driverQuery = $driverQuery;
      }
      /**
       * (no documentation provided)
       */
      public function getSelectedDriverClassName() {
        return $this->selectedDriverClassName;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSelectedDriverClassName($selectedDriverClassName) {
        $this->selectedDriverClassName = $selectedDriverClassName;
      }
      /**
       * (no documentation provided)
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * (no documentation provided)
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * (no documentation provided)
       */
      public function getLaunchTime() {
        return $this->launchTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setLaunchTime($launchTime) {
        $this->launchTime = $launchTime;
      }
      /**
       * (no documentation provided)
       */
      public function getResultSetPath() {
        return $this->resultSetPath;
      }
      
      /**
       * (no documentation provided)
       */
      public function setResultSetPath($resultSetPath) {
        $this->resultSetPath = $resultSetPath;
      }
      /**
       * (no documentation provided)
       */
      public function getQueryName() {
        return $this->queryName;
      }
      
      /**
       * (no documentation provided)
       */
      public function setQueryName($queryName) {
        $this->queryName = $queryName;
      }
      /**
       * (no documentation provided)
       */
      public function getDriverFinishTime() {
        return $this->driverFinishTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setDriverFinishTime($driverFinishTime) {
        $this->driverFinishTime = $driverFinishTime;
      }
      /**
       * (no documentation provided)
       */
      public function getDriverStartTime() {
        return $this->driverStartTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setDriverStartTime($driverStartTime) {
        $this->driverStartTime = $driverStartTime;
      }
      /**
       * (no documentation provided)
       */
      public function getIsPersistent() {
        return $this->isPersistent;
      }
      
      /**
       * (no documentation provided)
       */
      public function setIsPersistent($isPersistent) {
        $this->isPersistent = $isPersistent;
      }
      /**
       * (no documentation provided)
       */
      public function getSubmissionTime() {
        return $this->submissionTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSubmissionTime($submissionTime) {
        $this->submissionTime = $submissionTime;
      }
      /**
       * (no documentation provided)
       */
      public function getQueryConf() {
        return $this->queryConf;
      }
      
      /**
       * (no documentation provided)
       */
      public function setQueryConf($queryConf) {
        $this->queryConf = $queryConf;
      }
      /**
       * (no documentation provided)
       */
      public function getFinishTime() {
        return $this->finishTime;
      }
      
      /**
       * (no documentation provided)
       */
      public function setFinishTime($finishTime) {
        $this->finishTime = $finishTime;
      }
      /**
       * (no documentation provided)
       */
      public function getSubmittedUser() {
        return $this->submittedUser;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSubmittedUser($submittedUser) {
        $this->submittedUser = $submittedUser;
      }
      /**
       * (no documentation provided)
       */
      public function getPriority() {
        return $this->priority;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPriority($priority) {
        $this->priority = $priority;
      }
      /**
       * (no documentation provided)
       */
      public function getUserQuery() {
        return $this->userQuery;
      }
      
      /**
       * (no documentation provided)
       */
      public function setUserQuery($userQuery) {
        $this->userQuery = $userQuery;
      }
      /**
       * Returns the associative array for this LensQuery
       */
      public function toArray() {
        $a = array();
        if( $this->driverOpHandle ) {
          $a["driverOpHandle"] = $this->driverOpHandle;
        }
        if( $this->queryHandle ) {
          $a["queryHandle"] = $this->queryHandle->toArray();
        }
        if( $this->closedTime ) {
          $a["closedTime"] = $this->closedTime;
        }
        if( $this->driverQuery ) {
          $a["driverQuery"] = $this->driverQuery;
        }
        if( $this->selectedDriverClassName ) {
          $a["selectedDriverClassName"] = $this->selectedDriverClassName;
        }
        if( $this->status ) {
          $a["status"] = $this->status->toArray();
        }
        if( $this->launchTime ) {
          $a["launchTime"] = $this->launchTime;
        }
        if( $this->resultSetPath ) {
          $a["resultSetPath"] = $this->resultSetPath;
        }
        if( $this->queryName ) {
          $a["queryName"] = $this->queryName;
        }
        if( $this->driverFinishTime ) {
          $a["driverFinishTime"] = $this->driverFinishTime;
        }
        if( $this->driverStartTime ) {
          $a["driverStartTime"] = $this->driverStartTime;
        }
        if( $this->isPersistent ) {
          $a["isPersistent"] = $this->isPersistent;
        }
        if( $this->submissionTime ) {
          $a["submissionTime"] = $this->submissionTime;
        }
        if( $this->queryConf ) {
          $a["queryConf"] = $this->queryConf->toArray();
        }
        if( $this->finishTime ) {
          $a["finishTime"] = $this->finishTime;
        }
        if( $this->submittedUser ) {
          $a["submittedUser"] = $this->submittedUser;
        }
        if( $this->priority ) {
          $a["priority"] = $this->priority;
        }
        if( $this->userQuery ) {
          $a["userQuery"] = $this->userQuery;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this LensQuery
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this LensQuery from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['driverOpHandle']) ) {
          $this->driverOpHandle = $o["driverOpHandle"];
        }
        if( isset($o['queryHandle']) ) {
          $this->queryHandle = new \Org\Apache\Lens\Api\Query\QueryHandle($o["queryHandle"]);
        }
        if( isset($o['closedTime']) ) {
          $this->closedTime = $o["closedTime"];
        }
        if( isset($o['driverQuery']) ) {
          $this->driverQuery = $o["driverQuery"];
        }
        if( isset($o['selectedDriverClassName']) ) {
          $this->selectedDriverClassName = $o["selectedDriverClassName"];
        }
        if( isset($o['status']) ) {
          $this->status = new \Org\Apache\Lens\Api\Query\QueryStatus($o["status"]);
        }
        if( isset($o['launchTime']) ) {
          $this->launchTime = $o["launchTime"];
        }
        if( isset($o['resultSetPath']) ) {
          $this->resultSetPath = $o["resultSetPath"];
        }
        if( isset($o['queryName']) ) {
          $this->queryName = $o["queryName"];
        }
        if( isset($o['driverFinishTime']) ) {
          $this->driverFinishTime = $o["driverFinishTime"];
        }
        if( isset($o['driverStartTime']) ) {
          $this->driverStartTime = $o["driverStartTime"];
        }
        if( isset($o['isPersistent']) ) {
          $this->isPersistent = $o["isPersistent"];
        }
        if( isset($o['submissionTime']) ) {
          $this->submissionTime = $o["submissionTime"];
        }
        if( isset($o['queryConf']) ) {
          $this->queryConf = new \Org\Apache\Lens\Api\LensConf($o["queryConf"]);
        }
        if( isset($o['finishTime']) ) {
          $this->finishTime = $o["finishTime"];
        }
        if( isset($o['submittedUser']) ) {
          $this->submittedUser = $o["submittedUser"];
        }
        if( isset($o['priority']) ) {
          $this->priority = $o["priority"];
        }
        if( isset($o['userQuery']) ) {
          $this->userQuery = $o["userQuery"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryCost  {
    
    
      /**
       * (no documentation provided)
       */
      private $estimatedExecTimeMillis;
      /**
       * (no documentation provided)
       */
      private $estimatedResourceUsage;

      /**
       * Constructs a QueryCost from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getEstimatedExecTimeMillis() {
        return $this->estimatedExecTimeMillis;
      }
      
      /**
       * (no documentation provided)
       */
      public function setEstimatedExecTimeMillis($estimatedExecTimeMillis) {
        $this->estimatedExecTimeMillis = $estimatedExecTimeMillis;
      }
      /**
       * (no documentation provided)
       */
      public function getEstimatedResourceUsage() {
        return $this->estimatedResourceUsage;
      }
      
      /**
       * (no documentation provided)
       */
      public function setEstimatedResourceUsage($estimatedResourceUsage) {
        $this->estimatedResourceUsage = $estimatedResourceUsage;
      }
      /**
       * Returns the associative array for this QueryCost
       */
      public function toArray() {
        $a = array();
        if( $this->estimatedExecTimeMillis ) {
          $a["estimatedExecTimeMillis"] = $this->estimatedExecTimeMillis;
        }
        if( $this->estimatedResourceUsage ) {
          $a["estimatedResourceUsage"] = $this->estimatedResourceUsage;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this QueryCost
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this QueryCost from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['estimatedExecTimeMillis']) ) {
          $this->estimatedExecTimeMillis = $o["estimatedExecTimeMillis"];
        }
        if( isset($o['estimatedResourceUsage']) ) {
          $this->estimatedResourceUsage = $o["estimatedResourceUsage"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api {

    /**
     * 
     */
    class LensConf  {
    
    
      /**
       * (no documentation provided)
       */
      private $properties;

      /**
       * Constructs a LensConf from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getProperties() {
        return $this->properties;
      }
      
      /**
       * (no documentation provided)
       */
      public function setProperties($properties) {
        $this->properties = $properties;
      }
      /**
       * Returns the associative array for this LensConf
       */
      public function toArray() {
        $a = array();
        if( $this->properties ) {
          $a["properties"] = $this->properties;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this LensConf
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this LensConf from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['properties']) ) {
          $this->properties = $o["properties"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryResult  {
    
    

      /**
       * Constructs a QueryResult from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this QueryResult
       */
      public function toArray() {
        $a = array();
        return $a;
      }
      
      /**
       * Returns the JSON string for this QueryResult
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this QueryResult from an associative array
       */
      public function initFromArray($o) {
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryStatus  {
    
    
      /**
       * (no documentation provided)
       */
      private $progressMessage;
      /**
       * (no documentation provided)
       */
      private $progress;
      /**
       * (no documentation provided)
       */
      private $isResultSetAvailable;
      /**
       * (no documentation provided)
       */
      private $statusMessage;
      /**
       * (no documentation provided)
       */
      private $errorMessage;
      /**
       * (no documentation provided)
       */
      private $status;

      /**
       * Constructs a QueryStatus from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getProgressMessage() {
        return $this->progressMessage;
      }
      
      /**
       * (no documentation provided)
       */
      public function setProgressMessage($progressMessage) {
        $this->progressMessage = $progressMessage;
      }
      /**
       * (no documentation provided)
       */
      public function getProgress() {
        return $this->progress;
      }
      
      /**
       * (no documentation provided)
       */
      public function setProgress($progress) {
        $this->progress = $progress;
      }
      /**
       * (no documentation provided)
       */
      public function getIsResultSetAvailable() {
        return $this->isResultSetAvailable;
      }
      
      /**
       * (no documentation provided)
       */
      public function setIsResultSetAvailable($isResultSetAvailable) {
        $this->isResultSetAvailable = $isResultSetAvailable;
      }
      /**
       * (no documentation provided)
       */
      public function getStatusMessage() {
        return $this->statusMessage;
      }
      
      /**
       * (no documentation provided)
       */
      public function setStatusMessage($statusMessage) {
        $this->statusMessage = $statusMessage;
      }
      /**
       * (no documentation provided)
       */
      public function getErrorMessage() {
        return $this->errorMessage;
      }
      
      /**
       * (no documentation provided)
       */
      public function setErrorMessage($errorMessage) {
        $this->errorMessage = $errorMessage;
      }
      /**
       * (no documentation provided)
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * (no documentation provided)
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * Returns the associative array for this QueryStatus
       */
      public function toArray() {
        $a = array();
        if( $this->progressMessage ) {
          $a["progressMessage"] = $this->progressMessage;
        }
        if( $this->progress ) {
          $a["progress"] = $this->progress;
        }
        if( $this->isResultSetAvailable ) {
          $a["isResultSetAvailable"] = $this->isResultSetAvailable;
        }
        if( $this->statusMessage ) {
          $a["statusMessage"] = $this->statusMessage;
        }
        if( $this->errorMessage ) {
          $a["errorMessage"] = $this->errorMessage;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this QueryStatus
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this QueryStatus from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['progressMessage']) ) {
          $this->progressMessage = $o["progressMessage"];
        }
        if( isset($o['progress']) ) {
          $this->progress = $o["progress"];
        }
        if( isset($o['isResultSetAvailable']) ) {
          $this->isResultSetAvailable = $o["isResultSetAvailable"];
        }
        if( isset($o['statusMessage']) ) {
          $this->statusMessage = $o["statusMessage"];
        }
        if( isset($o['errorMessage']) ) {
          $this->errorMessage = $o["errorMessage"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QuerySubmitResult  {
    
    

      /**
       * Constructs a QuerySubmitResult from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this QuerySubmitResult
       */
      public function toArray() {
        $a = array();
        return $a;
      }
      
      /**
       * Returns the JSON string for this QuerySubmitResult
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this QuerySubmitResult from an associative array
       */
      public function initFromArray($o) {
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class ResultColumn  {
    
    
      /**
       * (no documentation provided)
       */
      private $type;
      /**
       * (no documentation provided)
       */
      private $name;

      /**
       * Constructs a ResultColumn from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * (no documentation provided)
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * (no documentation provided)
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * (no documentation provided)
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * Returns the associative array for this ResultColumn
       */
      public function toArray() {
        $a = array();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this ResultColumn
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this ResultColumn from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class ResultRow  {
    
    
      /**
       * (no documentation provided)
       */
      private $values;

      /**
       * Constructs a ResultRow from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getValues() {
        return $this->values;
      }
      
      /**
       * (no documentation provided)
       */
      public function setValues($values) {
        $this->values = $values;
      }
      /**
       * Returns the associative array for this ResultRow
       */
      public function toArray() {
        $a = array();
        if( $this->values ) {
          $ab = array();
          foreach( $this->values as $i => $x ) {
            $ab[$i] = (array) $x;
          }
          $a['values'] = $ab;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this ResultRow
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this ResultRow from an associative array
       */
      public function initFromArray($o) {
        $this->values = array();
        if( isset($o['values']) ) {
          foreach( $o['values'] as $i => $x ) {
            $this->values[$i] = (object) $x;
          }
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryResultSetMetadata  {
    
    
      /**
       * (no documentation provided)
       */
      private $columns;

      /**
       * Constructs a QueryResultSetMetadata from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getColumns() {
        return $this->columns;
      }
      
      /**
       * (no documentation provided)
       */
      public function setColumns($columns) {
        $this->columns = $columns;
      }
      /**
       * Returns the associative array for this QueryResultSetMetadata
       */
      public function toArray() {
        $a = array();
        if( $this->columns ) {
          $ab = array();
          foreach( $this->columns as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['columns'] = $ab;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this QueryResultSetMetadata
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this QueryResultSetMetadata from an associative array
       */
      public function initFromArray($o) {
        $this->columns = array();
        if( isset($o['columns']) ) {
          foreach( $o['columns'] as $i => $x ) {
            $this->columns[$i] = new \Org\Apache\Lens\Api\Query\ResultColumn($x);
          }
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api {

    /**
     * 
     */
    class APIResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $status;
      /**
       * (no documentation provided)
       */
      private $message;

      /**
       * Constructs a APIResult from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * (no documentation provided)
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * (no documentation provided)
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * (no documentation provided)
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * Returns the associative array for this APIResult
       */
      public function toArray() {
        $a = array();
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this APIResult
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this APIResult from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryHandle extends \Org\Apache\Lens\Api\Query\QuerySubmitResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $handleId;

      /**
       * Constructs a QueryHandle from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getHandleId() {
        return $this->handleId;
      }
      
      /**
       * (no documentation provided)
       */
      public function setHandleId($handleId) {
        $this->handleId = $handleId;
      }
      /**
       * Returns the associative array for this QueryHandle
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->handleId ) {
          $a["handleId"] = $this->handleId;
        }
        return $a;
      }
      

      /**
       * Initializes this QueryHandle from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['handleId']) ) {
          $this->handleId = $o["handleId"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryHandleWithResultSet extends \Org\Apache\Lens\Api\Query\QuerySubmitResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $queryHandle;
      /**
       * (no documentation provided)
       */
      private $result;

      /**
       * Constructs a QueryHandleWithResultSet from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getQueryHandle() {
        return $this->queryHandle;
      }
      
      /**
       * (no documentation provided)
       */
      public function setQueryHandle($queryHandle) {
        $this->queryHandle = $queryHandle;
      }
      /**
       * (no documentation provided)
       */
      public function getResult() {
        return $this->result;
      }
      
      /**
       * (no documentation provided)
       */
      public function setResult($result) {
        $this->result = $result;
      }
      /**
       * Returns the associative array for this QueryHandleWithResultSet
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->queryHandle ) {
          $a["queryHandle"] = $this->queryHandle->toArray();
        }
        if( $this->result ) {
          $a["result"] = $this->result->toArray();
        }
        return $a;
      }
      

      /**
       * Initializes this QueryHandleWithResultSet from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['queryHandle']) ) {
          $this->queryHandle = new \Org\Apache\Lens\Api\Query\QueryHandle($o["queryHandle"]);
        }
        if( isset($o['result']) ) {
          $this->result = new \Org\Apache\Lens\Api\Query\QueryResult($o["result"]);
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryPlan extends \Org\Apache\Lens\Api\Query\QuerySubmitResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $gbyWeight;
      /**
       * (no documentation provided)
       */
      private $prepareHandle;
      /**
       * (no documentation provided)
       */
      private $selectWeight;
      /**
       * (no documentation provided)
       */
      private $scanMode;
      /**
       * (no documentation provided)
       */
      private $numHaving;
      /**
       * (no documentation provided)
       */
      private $obyWeight;
      /**
       * (no documentation provided)
       */
      private $errorMsg;
      /**
       * (no documentation provided)
       */
      private $numAggrExprs;
      /**
       * (no documentation provided)
       */
      private $numObys;
      /**
       * (no documentation provided)
       */
      private $queryCost;
      /**
       * (no documentation provided)
       */
      private $numGbys;
      /**
       * (no documentation provided)
       */
      private $hasSubQuery;
      /**
       * (no documentation provided)
       */
      private $execMode;
      /**
       * (no documentation provided)
       */
      private $filterWeight;
      /**
       * (no documentation provided)
       */
      private $joinWeight;
      /**
       * (no documentation provided)
       */
      private $planString;
      /**
       * (no documentation provided)
       */
      private $numJoins;
      /**
       * (no documentation provided)
       */
      private $numSelDi;
      /**
       * (no documentation provided)
       */
      private $tableWeights;
      /**
       * (no documentation provided)
       */
      private $havingWeight;
      /**
       * (no documentation provided)
       */
      private $numSels;
      /**
       * (no documentation provided)
       */
      private $error;
      /**
       * (no documentation provided)
       */
      private $tablesQueried;
      /**
       * (no documentation provided)
       */
      private $numFilters;

      /**
       * Constructs a QueryPlan from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getGbyWeight() {
        return $this->gbyWeight;
      }
      
      /**
       * (no documentation provided)
       */
      public function setGbyWeight($gbyWeight) {
        $this->gbyWeight = $gbyWeight;
      }
      /**
       * (no documentation provided)
       */
      public function getPrepareHandle() {
        return $this->prepareHandle;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPrepareHandle($prepareHandle) {
        $this->prepareHandle = $prepareHandle;
      }
      /**
       * (no documentation provided)
       */
      public function getSelectWeight() {
        return $this->selectWeight;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSelectWeight($selectWeight) {
        $this->selectWeight = $selectWeight;
      }
      /**
       * (no documentation provided)
       */
      public function getScanMode() {
        return $this->scanMode;
      }
      
      /**
       * (no documentation provided)
       */
      public function setScanMode($scanMode) {
        $this->scanMode = $scanMode;
      }
      /**
       * (no documentation provided)
       */
      public function getNumHaving() {
        return $this->numHaving;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumHaving($numHaving) {
        $this->numHaving = $numHaving;
      }
      /**
       * (no documentation provided)
       */
      public function getObyWeight() {
        return $this->obyWeight;
      }
      
      /**
       * (no documentation provided)
       */
      public function setObyWeight($obyWeight) {
        $this->obyWeight = $obyWeight;
      }
      /**
       * (no documentation provided)
       */
      public function getErrorMsg() {
        return $this->errorMsg;
      }
      
      /**
       * (no documentation provided)
       */
      public function setErrorMsg($errorMsg) {
        $this->errorMsg = $errorMsg;
      }
      /**
       * (no documentation provided)
       */
      public function getNumAggrExprs() {
        return $this->numAggrExprs;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumAggrExprs($numAggrExprs) {
        $this->numAggrExprs = $numAggrExprs;
      }
      /**
       * (no documentation provided)
       */
      public function getNumObys() {
        return $this->numObys;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumObys($numObys) {
        $this->numObys = $numObys;
      }
      /**
       * (no documentation provided)
       */
      public function getQueryCost() {
        return $this->queryCost;
      }
      
      /**
       * (no documentation provided)
       */
      public function setQueryCost($queryCost) {
        $this->queryCost = $queryCost;
      }
      /**
       * (no documentation provided)
       */
      public function getNumGbys() {
        return $this->numGbys;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumGbys($numGbys) {
        $this->numGbys = $numGbys;
      }
      /**
       * (no documentation provided)
       */
      public function getHasSubQuery() {
        return $this->hasSubQuery;
      }
      
      /**
       * (no documentation provided)
       */
      public function setHasSubQuery($hasSubQuery) {
        $this->hasSubQuery = $hasSubQuery;
      }
      /**
       * (no documentation provided)
       */
      public function getExecMode() {
        return $this->execMode;
      }
      
      /**
       * (no documentation provided)
       */
      public function setExecMode($execMode) {
        $this->execMode = $execMode;
      }
      /**
       * (no documentation provided)
       */
      public function getFilterWeight() {
        return $this->filterWeight;
      }
      
      /**
       * (no documentation provided)
       */
      public function setFilterWeight($filterWeight) {
        $this->filterWeight = $filterWeight;
      }
      /**
       * (no documentation provided)
       */
      public function getJoinWeight() {
        return $this->joinWeight;
      }
      
      /**
       * (no documentation provided)
       */
      public function setJoinWeight($joinWeight) {
        $this->joinWeight = $joinWeight;
      }
      /**
       * (no documentation provided)
       */
      public function getPlanString() {
        return $this->planString;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPlanString($planString) {
        $this->planString = $planString;
      }
      /**
       * (no documentation provided)
       */
      public function getNumJoins() {
        return $this->numJoins;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumJoins($numJoins) {
        $this->numJoins = $numJoins;
      }
      /**
       * (no documentation provided)
       */
      public function getNumSelDi() {
        return $this->numSelDi;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumSelDi($numSelDi) {
        $this->numSelDi = $numSelDi;
      }
      /**
       * (no documentation provided)
       */
      public function getTableWeights() {
        return $this->tableWeights;
      }
      
      /**
       * (no documentation provided)
       */
      public function setTableWeights($tableWeights) {
        $this->tableWeights = $tableWeights;
      }
      /**
       * (no documentation provided)
       */
      public function getHavingWeight() {
        return $this->havingWeight;
      }
      
      /**
       * (no documentation provided)
       */
      public function setHavingWeight($havingWeight) {
        $this->havingWeight = $havingWeight;
      }
      /**
       * (no documentation provided)
       */
      public function getNumSels() {
        return $this->numSels;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumSels($numSels) {
        $this->numSels = $numSels;
      }
      /**
       * (no documentation provided)
       */
      public function getError() {
        return $this->error;
      }
      
      /**
       * (no documentation provided)
       */
      public function setError($error) {
        $this->error = $error;
      }
      /**
       * (no documentation provided)
       */
      public function getTablesQueried() {
        return $this->tablesQueried;
      }
      
      /**
       * (no documentation provided)
       */
      public function setTablesQueried($tablesQueried) {
        $this->tablesQueried = $tablesQueried;
      }
      /**
       * (no documentation provided)
       */
      public function getNumFilters() {
        return $this->numFilters;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumFilters($numFilters) {
        $this->numFilters = $numFilters;
      }
      /**
       * Returns the associative array for this QueryPlan
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->gbyWeight ) {
          $a["gbyWeight"] = $this->gbyWeight;
        }
        if( $this->prepareHandle ) {
          $a["prepareHandle"] = $this->prepareHandle->toArray();
        }
        if( $this->selectWeight ) {
          $a["selectWeight"] = $this->selectWeight;
        }
        if( $this->scanMode ) {
          $a["scanMode"] = $this->scanMode;
        }
        if( $this->numHaving ) {
          $a["numHaving"] = $this->numHaving;
        }
        if( $this->obyWeight ) {
          $a["obyWeight"] = $this->obyWeight;
        }
        if( $this->errorMsg ) {
          $a["errorMsg"] = $this->errorMsg;
        }
        if( $this->numAggrExprs ) {
          $a["numAggrExprs"] = $this->numAggrExprs;
        }
        if( $this->numObys ) {
          $a["numObys"] = $this->numObys;
        }
        if( $this->queryCost ) {
          $a["queryCost"] = $this->queryCost->toArray();
        }
        if( $this->numGbys ) {
          $a["numGbys"] = $this->numGbys;
        }
        if( $this->hasSubQuery ) {
          $a["hasSubQuery"] = $this->hasSubQuery;
        }
        if( $this->execMode ) {
          $a["execMode"] = $this->execMode;
        }
        if( $this->filterWeight ) {
          $a["filterWeight"] = $this->filterWeight;
        }
        if( $this->joinWeight ) {
          $a["joinWeight"] = $this->joinWeight;
        }
        if( $this->planString ) {
          $a["planString"] = $this->planString;
        }
        if( $this->numJoins ) {
          $a["numJoins"] = $this->numJoins;
        }
        if( $this->numSelDi ) {
          $a["numSelDi"] = $this->numSelDi;
        }
        if( $this->tableWeights ) {
          $a["tableWeights"] = $this->tableWeights;
        }
        if( $this->havingWeight ) {
          $a["havingWeight"] = $this->havingWeight;
        }
        if( $this->numSels ) {
          $a["numSels"] = $this->numSels;
        }
        if( $this->error ) {
          $a["error"] = $this->error;
        }
        if( $this->tablesQueried ) {
          $ab = array();
          foreach( $this->tablesQueried as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['tablesQueried'] = $ab;
        }
        if( $this->numFilters ) {
          $a["numFilters"] = $this->numFilters;
        }
        return $a;
      }
      

      /**
       * Initializes this QueryPlan from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['gbyWeight']) ) {
          $this->gbyWeight = $o["gbyWeight"];
        }
        if( isset($o['prepareHandle']) ) {
          $this->prepareHandle = new \Org\Apache\Lens\Api\Query\QueryPrepareHandle($o["prepareHandle"]);
        }
        if( isset($o['selectWeight']) ) {
          $this->selectWeight = $o["selectWeight"];
        }
        if( isset($o['scanMode']) ) {
          $this->scanMode = $o["scanMode"];
        }
        if( isset($o['numHaving']) ) {
          $this->numHaving = $o["numHaving"];
        }
        if( isset($o['obyWeight']) ) {
          $this->obyWeight = $o["obyWeight"];
        }
        if( isset($o['errorMsg']) ) {
          $this->errorMsg = $o["errorMsg"];
        }
        if( isset($o['numAggrExprs']) ) {
          $this->numAggrExprs = $o["numAggrExprs"];
        }
        if( isset($o['numObys']) ) {
          $this->numObys = $o["numObys"];
        }
        if( isset($o['queryCost']) ) {
          $this->queryCost = new \Org\Apache\Lens\Api\Query\QueryCost($o["queryCost"]);
        }
        if( isset($o['numGbys']) ) {
          $this->numGbys = $o["numGbys"];
        }
        if( isset($o['hasSubQuery']) ) {
          $this->hasSubQuery = $o["hasSubQuery"];
        }
        if( isset($o['execMode']) ) {
          $this->execMode = $o["execMode"];
        }
        if( isset($o['filterWeight']) ) {
          $this->filterWeight = $o["filterWeight"];
        }
        if( isset($o['joinWeight']) ) {
          $this->joinWeight = $o["joinWeight"];
        }
        if( isset($o['planString']) ) {
          $this->planString = $o["planString"];
        }
        if( isset($o['numJoins']) ) {
          $this->numJoins = $o["numJoins"];
        }
        if( isset($o['numSelDi']) ) {
          $this->numSelDi = $o["numSelDi"];
        }
        if( isset($o['tableWeights']) ) {
          $this->tableWeights = $o["tableWeights"];
        }
        if( isset($o['havingWeight']) ) {
          $this->havingWeight = $o["havingWeight"];
        }
        if( isset($o['numSels']) ) {
          $this->numSels = $o["numSels"];
        }
        if( isset($o['error']) ) {
          $this->error = $o["error"];
        }
        $this->tablesQueried = array();
        if( isset($o['tablesQueried']) ) {
          foreach( $o['tablesQueried'] as $i => $x ) {
            $this->tablesQueried[$i] = $x;
          }
        }
        if( isset($o['numFilters']) ) {
          $this->numFilters = $o["numFilters"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    // 
    class ResultColumnType {
    

      // (no documentation provided)
      const BOOLEAN = "BOOLEAN";

      // (no documentation provided)
      const TINYINT = "TINYINT";

      // (no documentation provided)
      const SMALLINT = "SMALLINT";

      // (no documentation provided)
      const INT = "INT";

      // (no documentation provided)
      const BIGINT = "BIGINT";

      // (no documentation provided)
      const FLOAT = "FLOAT";

      // (no documentation provided)
      const DOUBLE = "DOUBLE";

      // (no documentation provided)
      const STRING = "STRING";

      // (no documentation provided)
      const TIMESTAMP = "TIMESTAMP";

      // (no documentation provided)
      const BINARY = "BINARY";

      // (no documentation provided)
      const ARRAY = "ARRAY";

      // (no documentation provided)
      const MAP = "MAP";

      // (no documentation provided)
      const STRUCT = "STRUCT";

      // (no documentation provided)
      const UNIONTYPE = "UNIONTYPE";

      // (no documentation provided)
      const USER_DEFINED = "USER_DEFINED";

      // (no documentation provided)
      const DECIMAL = "DECIMAL";

      // (no documentation provided)
      const NULL = "NULL";

      // (no documentation provided)
      const DATE = "DATE";

      // (no documentation provided)
      const VARCHAR = "VARCHAR";

      // (no documentation provided)
      const CHAR = "CHAR";
    
    }

  }  
    

  namespace Org\Apache\Lens\Api\Query {

    // 
    class Status {
    

      // (no documentation provided)
      const NEW = "NEW";

      // (no documentation provided)
      const QUEUED = "QUEUED";

      // (no documentation provided)
      const LAUNCHED = "LAUNCHED";

      // (no documentation provided)
      const RUNNING = "RUNNING";

      // (no documentation provided)
      const EXECUTED = "EXECUTED";

      // (no documentation provided)
      const SUCCESSFUL = "SUCCESSFUL";

      // (no documentation provided)
      const FAILED = "FAILED";

      // (no documentation provided)
      const CANCELED = "CANCELED";

      // (no documentation provided)
      const CLOSED = "CLOSED";
    
    }

  }  
    

  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class QueryPrepareHandle extends \Org\Apache\Lens\Api\Query\QuerySubmitResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $prepareHandleId;

      /**
       * Constructs a QueryPrepareHandle from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getPrepareHandleId() {
        return $this->prepareHandleId;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPrepareHandleId($prepareHandleId) {
        $this->prepareHandleId = $prepareHandleId;
      }
      /**
       * Returns the associative array for this QueryPrepareHandle
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->prepareHandleId ) {
          $a["prepareHandleId"] = $this->prepareHandleId;
        }
        return $a;
      }
      

      /**
       * Initializes this QueryPrepareHandle from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['prepareHandleId']) ) {
          $this->prepareHandleId = $o["prepareHandleId"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class PersistentQueryResult extends \Org\Apache\Lens\Api\Query\QueryResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $persistedURI;
      /**
       * (no documentation provided)
       */
      private $numRows;

      /**
       * Constructs a PersistentQueryResult from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getPersistedURI() {
        return $this->persistedURI;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPersistedURI($persistedURI) {
        $this->persistedURI = $persistedURI;
      }
      /**
       * (no documentation provided)
       */
      public function getNumRows() {
        return $this->numRows;
      }
      
      /**
       * (no documentation provided)
       */
      public function setNumRows($numRows) {
        $this->numRows = $numRows;
      }
      /**
       * Returns the associative array for this PersistentQueryResult
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->persistedURI ) {
          $a["persistedURI"] = $this->persistedURI;
        }
        if( $this->numRows ) {
          $a["numRows"] = $this->numRows;
        }
        return $a;
      }
      

      /**
       * Initializes this PersistentQueryResult from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['persistedURI']) ) {
          $this->persistedURI = $o["persistedURI"];
        }
        if( isset($o['numRows']) ) {
          $this->numRows = $o["numRows"];
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api\Query {

    /**
     * 
     */
    class InMemoryQueryResult extends \Org\Apache\Lens\Api\Query\QueryResult  {
    
    
      /**
       * (no documentation provided)
       */
      private $rows;

      /**
       * Constructs a InMemoryQueryResult from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getRows() {
        return $this->rows;
      }
      
      /**
       * (no documentation provided)
       */
      public function setRows($rows) {
        $this->rows = $rows;
      }
      /**
       * Returns the associative array for this InMemoryQueryResult
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->rows ) {
          $ab = array();
          foreach( $this->rows as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['rows'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this InMemoryQueryResult from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->rows = array();
        if( isset($o['rows']) ) {
          foreach( $o['rows'] as $i => $x ) {
            $this->rows[$i] = new \Org\Apache\Lens\Api\Query\ResultRow($x);
          }
        }
      }
    
    }
    
  }


  namespace Org\Apache\Lens\Api {

    // 
    class Priority {
    

      // (no documentation provided)
      const VERY_HIGH = "VERY_HIGH";

      // (no documentation provided)
      const HIGH = "HIGH";

      // (no documentation provided)
      const NORMAL = "NORMAL";

      // (no documentation provided)
      const LOW = "LOW";

      // (no documentation provided)
      const VERY_LOW = "VERY_LOW";
    
    }

  }  
    

  namespace Org\Apache\Lens\Api {

    // 
    class Status {
    

      // (no documentation provided)
      const SUCCEEDED = "SUCCEEDED";

      // (no documentation provided)
      const PARTIAL = "PARTIAL";

      // (no documentation provided)
      const FAILED = "FAILED";
    
    }

  }  
    
  
?>