public function query(
        $repositoryId,
        $statement,
        $searchAllVersions = false,
        IncludeRelationships $includeRelationships = null,
        $renditionFilter = Constants::RENDITION_NONE,
        $includeAllowableActions = false,
        $maxItems = null,
        $skipCount = 0,
        ExtensionDataInterface $extension = null
    ) {
        $url = $this->getRepositoryUrl($repositoryId);

        $url->getQuery()->modify(
            [
                Constants::CONTROL_CMISACTION => Constants::CMISACTION_QUERY,
                Constants::PARAM_STATEMENT => (string) $statement,
                Constants::PARAM_SEARCH_ALL_VERSIONS => $searchAllVersions ? 'true' : 'false',
                Constants::PARAM_ALLOWABLE_ACTIONS => $includeAllowableActions ? 'true' : 'false',
                Constants::PARAM_RENDITION_FILTER => $renditionFilter,
                Constants::PARAM_SKIP_COUNT => (string) $skipCount,
                Constants::PARAM_DATETIME_FORMAT => (string) $this->getDateTimeFormat()
            ]
        );

        if ($includeRelationships !== null) {
            $url->getQuery()->modify([Constants::PARAM_RELATIONSHIPS => (string) $includeRelationships]);
        }

        if ($maxItems > 0) {
            $url->getQuery()->modify([Constants::PARAM_MAX_ITEMS => (string) $maxItems]);
        }

        return $this->getJsonConverter()->convertQueryResultList((array) $this->postJson($url));
    }
public function query(
        $repositoryId,
        $statement,
        $searchAllVersions = false,
        IncludeRelationships $includeRelationships = null,
        $renditionFilter = Constants::RENDITION_NONE,
        $includeAllowableActions = false,
        $maxItems = null,
        $skipCount = 0,
        ExtensionDataInterface $extension = null
    ) {
        $url = $this->getRepositoryUrl($repositoryId);

        $url->getQuery()->modify(
            [
                Constants::CONTROL_CMISACTION => Constants::CMISACTION_QUERY,
                Constants::PARAM_STATEMENT => (string) $statement,
                Constants::PARAM_SEARCH_ALL_VERSIONS => $searchAllVersions ? 'true' : 'false',
                Constants::PARAM_ALLOWABLE_ACTIONS => $includeAllowableActions ? 'true' : 'false',
                Constants::PARAM_RENDITION_FILTER => $renditionFilter,
                Constants::PARAM_SKIP_COUNT => (string) $skipCount,
                Constants::PARAM_DATETIME_FORMAT => (string) $this->getDateTimeFormat()
            ]
        );

        if ($includeRelationships !== null) {
            $url->getQuery()->modify([Constants::PARAM_RELATIONSHIPS => (string) $includeRelationships]);
        }

        if ($maxItems > 0) {
            $url->getQuery()->modify([Constants::PARAM_MAX_ITEMS => (string) $maxItems]);
        }

        return $this->getJsonConverter()->convertQueryResultList((array) $this->postJson($url));
    }
public function query ( $ repositoryId , $ statement , $ searchAllVersions = false , IncludeRelationships $ includeRelationships = null , $ renditionFilter = Constants :: RENDITION_NONE , $ includeAllowableActions = false , $ maxItems = null , $ skipCount = 0 , ExtensionDataInterface $ extension = null ) { $ url = $ this -> getRepositoryUrl ( $ repositoryId ) ; $ url -> getQuery ( ) -> modify ( [ Constants :: CONTROL_CMISACTION => Constants :: CMISACTION_QUERY , Constants :: PARAM_STATEMENT => ( string ) $ statement , Constants :: PARAM_SEARCH_ALL_VERSIONS => $ searchAllVersions ? 'true' : 'false' , Constants :: PARAM_ALLOWABLE_ACTIONS => $ includeAllowableActions ? 'true' : 'false' , Constants :: PARAM_RENDITION_FILTER => $ renditionFilter , Constants :: PARAM_SKIP_COUNT => ( string ) $ skipCount , Constants :: PARAM_DATETIME_FORMAT => ( string ) $ this -> getDateTimeFormat ( ) ] ) ; if ( $ includeRelationships !== null ) { $ url -> getQuery ( ) -> modify ( [ Constants :: PARAM_RELATIONSHIPS => ( string ) $ includeRelationships ] ) ; } if ( $ maxItems > 0 ) { $ url -> getQuery ( ) -> modify ( [ Constants :: PARAM_MAX_ITEMS => ( string ) $ maxItems ] ) ; } return $ this -> getJsonConverter ( ) -> convertQueryResultList ( ( array ) $ this -> postJson ( $ url ) ) ; }
Executes a CMIS query statement against the contents of the repository.

@param string $repositoryId The identifier for the repository.
@param string $statement CMIS query to be executed
@param boolean $searchAllVersions If <code>true</code>, then the repository MUST include latest and non-latest
versions of document objects in the query search scope.
If <code>false</code>, then the repository MUST only include latest versions of documents in the
query search scope.
If the repository does not support the optional capabilityAllVersionsSearchable capability, then this
parameter value MUST be set to <code>false</code>.
@param IncludeRelationships|null $includeRelationships indicates what relationships in which the objects
participate must be returned (default is <code>IncludeRelationships::NONE</code>)
@param string $renditionFilter The Repository MUST return the set of renditions whose kind matches this
filter. See section below for the filter grammar. Defaults to "cmis:none".
@param boolean $includeAllowableActions if <code>true</code>, then the repository must return the available
actions for each object in the result set (default is <code>false</code>)
@param integer|null $maxItems the maximum number of items to return in a response
(default is repository specific)
@param integer $skipCount number of potential results that the repository MUST skip/page over before
returning any results (default is 0)
@param ExtensionDataInterface|null $extension
@return ObjectListInterface|null Returns object of type <code>ObjectListInterface</code>
or <code>null</code> if the repository response was empty
Executes a CMIS query statement against the contents of the repository .