public function getProperties(
        $repositoryId,
        $objectId,
        $filter = null,
        ExtensionDataInterface $extension = null
    ) {
        $cacheKey = $this->createCacheKey(
            $objectId,
            [
                $repositoryId,
                $filter,
                $extension,
                $this->getSuccinct()
            ]
        );

        if ($this->isCached($cacheKey)) {
            return $this->getCached($cacheKey);
        }

        $url = $this->getObjectUrl($repositoryId, $objectId, Constants::SELECTOR_PROPERTIES);
        $url->getQuery()->modify(
            [
                Constants::PARAM_SUCCINCT => $this->getSuccinct() ? 'true' : 'false',
                Constants::PARAM_DATETIME_FORMAT => (string) $this->getDateTimeFormat()
            ]
        );

        if (!empty($filter)) {
            $url->getQuery()->modify([Constants::PARAM_FILTER => (string) $filter]);
        }

        $responseData = (array) $this->readJson($url);

        if ($this->getSuccinct()) {
            $objectData = $this->getJsonConverter()->convertSuccinctProperties($responseData);
        } else {
            $objectData = $this->getJsonConverter()->convertProperties($responseData);
        }

        return $this->cache(
            $cacheKey,
            $objectData
        );
    }
public function getProperties(
        $repositoryId,
        $objectId,
        $filter = null,
        ExtensionDataInterface $extension = null
    ) {
        $cacheKey = $this->createCacheKey(
            $objectId,
            [
                $repositoryId,
                $filter,
                $extension,
                $this->getSuccinct()
            ]
        );

        if ($this->isCached($cacheKey)) {
            return $this->getCached($cacheKey);
        }

        $url = $this->getObjectUrl($repositoryId, $objectId, Constants::SELECTOR_PROPERTIES);
        $url->getQuery()->modify(
            [
                Constants::PARAM_SUCCINCT => $this->getSuccinct() ? 'true' : 'false',
                Constants::PARAM_DATETIME_FORMAT => (string) $this->getDateTimeFormat()
            ]
        );

        if (!empty($filter)) {
            $url->getQuery()->modify([Constants::PARAM_FILTER => (string) $filter]);
        }

        $responseData = (array) $this->readJson($url);

        if ($this->getSuccinct()) {
            $objectData = $this->getJsonConverter()->convertSuccinctProperties($responseData);
        } else {
            $objectData = $this->getJsonConverter()->convertProperties($responseData);
        }

        return $this->cache(
            $cacheKey,
            $objectData
        );
    }
public function getProperties ( $ repositoryId , $ objectId , $ filter = null , ExtensionDataInterface $ extension = null ) { $ cacheKey = $ this -> createCacheKey ( $ objectId , [ $ repositoryId , $ filter , $ extension , $ this -> getSuccinct ( ) ] ) ; if ( $ this -> isCached ( $ cacheKey ) ) { return $ this -> getCached ( $ cacheKey ) ; } $ url = $ this -> getObjectUrl ( $ repositoryId , $ objectId , Constants :: SELECTOR_PROPERTIES ) ; $ url -> getQuery ( ) -> modify ( [ Constants :: PARAM_SUCCINCT => $ this -> getSuccinct ( ) ? 'true' : 'false' , Constants :: PARAM_DATETIME_FORMAT => ( string ) $ this -> getDateTimeFormat ( ) ] ) ; if ( ! empty ( $ filter ) ) { $ url -> getQuery ( ) -> modify ( [ Constants :: PARAM_FILTER => ( string ) $ filter ] ) ; } $ responseData = ( array ) $ this -> readJson ( $ url ) ; if ( $ this -> getSuccinct ( ) ) { $ objectData = $ this -> getJsonConverter ( ) -> convertSuccinctProperties ( $ responseData ) ; } else { $ objectData = $ this -> getJsonConverter ( ) -> convertProperties ( $ responseData ) ; } return $ this -> cache ( $ cacheKey , $ objectData ) ; }
Gets the list of properties for an object.

@param string $repositoryId the identifier for the repository
@param string $objectId the identifier for the object
@param string|null $filter a comma-separated list of query names that defines which properties must be
returned by the repository (default is repository specific)
@param ExtensionDataInterface|null $extension
@return PropertiesInterface
Gets the list of properties for an object .