src/POData/UriProcessor/ResourcePathProcessor/SegmentParser/SegmentParser.php
/**
     * Creates an instance of KeyDescriptor by parsing a key predicate, also 
     * validates the KeyDescriptor
     * 
     * @param string       $segment      The uri segment in the form identifier
     *                                   (keyPredicate)
     * @param ResourceType $resourceType The Resource type whose keys need to 
     *                                   be parsed
     * @param string       $keyPredicate The key predicate to parse and generate 
     *                                   KeyDescriptor for
     * 
     * @return KeyDescriptor Describes the key values in the $keyPredicate
     * 
     * @throws ODataException Exception if any error occurs while parsing and 
     *                                  validating the key predicate
     */
Creates an instance of KeyDescriptor by parsing a key predicate, also
validates the KeyDescriptor

@param string       $segment      The uri segment in the form identifier
(keyPredicate)
@param ResourceType $resourceType The Resource type whose keys need to
be parsed
@param string       $keyPredicate The key predicate to parse and generate
KeyDescriptor for

@return KeyDescriptor Describes the key values in the $keyPredicate

@throws ODataException Exception if any error occurs while parsing and
validating the key predicate
Creates an instance of KeyDescriptor by parsing a key predicate also validates the KeyDescriptor @param string $segment The uri segment in the form identifier ( keyPredicate ) @param ResourceType $resourceType The Resource type whose keys need to be parsed @param string $keyPredicate The key predicate to parse and generate KeyDescriptor for @return KeyDescriptor Describes the key values in the $keyPredicate @throws ODataException Exception if any error occurs while parsing and validating the key predicate
private function _createKeyDescriptor($segment, ResourceType $resourceType, $keyPredicate) {
        $keyDescriptor = null;
        if (!KeyDescriptor::tryParseKeysFromKeyPredicate($keyPredicate, $keyDescriptor)) {
            throw ODataException::createSyntaxError(Messages::syntaxError());
        }
        if (!$keyDescriptor->isEmpty() 
            && !$keyDescriptor->areNamedValues() 
            && $keyDescriptor->valueCount() > 1
        ) {
            throw ODataException::createSyntaxError(
                Messages::segmentParserKeysMustBeNamed($segment)
            );
        }
        $keyDescriptor->validate($segment, $resourceType);
        return $keyDescriptor;
    }
private function _createKeyDescriptor ( $ segment , ResourceType $ resourceType , $ keyPredicate ) { $ keyDescriptor = null ; if ( ! KeyDescriptor :: tryParseKeysFromKeyPredicate ( $ keyPredicate , $ keyDescriptor ) ) { throw ODataException :: createSyntaxError ( Messages :: syntaxError ( ) ) ; } if ( ! $ keyDescriptor -> isEmpty ( ) && ! $ keyDescriptor -> areNamedValues ( ) && $ keyDescriptor -> valueCount ( ) > 1 ) { throw ODataException :: createSyntaxError ( Messages :: segmentParserKeysMustBeNamed ( $ segment ) ) ; } $ keyDescriptor -> validate ( $ segment , $ resourceType ) ; return $ keyDescriptor ; }
Creates an instance of KeyDescriptor by parsing a key predicate, also
 validates the KeyDescriptor
Creates an instance of KeyDescriptor by parsing a key predicate also validates the KeyDescriptor
/**
         * @var KeyDescriptor $keyDescriptor
         */ // Note: Currently WCF Data Service does not support multiple // 'Positional values' so Order_Details(10248, 11) is not valid