com.linkedin.restli.common
Class ComplexResourceKey<K extends com.linkedin.data.template.RecordTemplate,P extends com.linkedin.data.template.RecordTemplate>

java.lang.Object
  extended by com.linkedin.restli.common.ComplexResourceKey<K,P>
Type Parameters:
K -
P -

public final class ComplexResourceKey<K extends com.linkedin.data.template.RecordTemplate,P extends com.linkedin.data.template.RecordTemplate>
extends java.lang.Object

The class represents a resource key consisting of a RecordTemplate-derived key part and a RecordTemplate-derived parameters part. Creating derived complex key classes from this class is not supported by the Rest.li infrastructure.


Field Summary
protected  K key
           
protected  P params
           
 
Constructor Summary
ComplexResourceKey(K key, P params)
          Initialize a ComplexResourceKey with the given key and parameters.
 
Method Summary
static ComplexResourceKey<com.linkedin.data.template.RecordTemplate,com.linkedin.data.template.RecordTemplate> buildFromDataMap(com.linkedin.data.DataMap keyDataMap, java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyKeyClass, java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyParamsClass)
          Build complex key instance from an untyped datamap representing a complex key as defined in QueryParamsDataMap
 boolean equals(java.lang.Object obj)
           
 K getKey()
           
 P getParams()
           
 int hashCode()
           
static ComplexResourceKey<com.linkedin.data.template.RecordTemplate,com.linkedin.data.template.RecordTemplate> parseFromPathSegment(java.lang.String currentPathSegment, java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyKeyClass, java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyParamsClass)
           
 com.linkedin.data.DataMap toDataMap()
           
 java.lang.String toString()
           
 java.lang.String toString(URLEscaper.Escaping escaping)
           
 java.lang.String toStringFull()
          The entire contents of the key converted to String, for cases where it is desired, such as when serializing the entire key, including the parameters in the request builders.
 java.lang.String toStringFull(URLEscaper.Escaping escaping)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

key

protected final K extends com.linkedin.data.template.RecordTemplate key

params

protected final P extends com.linkedin.data.template.RecordTemplate params
Constructor Detail

ComplexResourceKey

public ComplexResourceKey(K key,
                          P params)
Initialize a ComplexResourceKey with the given key and parameters.

Parameters:
key - the key component of theComplexResourceKey
params - the parameter component of the ComplexResourceKey
Method Detail

getKey

public K getKey()
Returns:
the key

getParams

public P getParams()
Returns:
the params

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(URLEscaper.Escaping escaping)

toStringFull

public java.lang.String toStringFull()
The entire contents of the key converted to String, for cases where it is desired, such as when serializing the entire key, including the parameters in the request builders.

Returns:
a String

toStringFull

public java.lang.String toStringFull(URLEscaper.Escaping escaping)

toDataMap

public com.linkedin.data.DataMap toDataMap()

buildFromDataMap

public static ComplexResourceKey<com.linkedin.data.template.RecordTemplate,com.linkedin.data.template.RecordTemplate> buildFromDataMap(com.linkedin.data.DataMap keyDataMap,
                                                                                                                                       java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyKeyClass,
                                                                                                                                       java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyParamsClass)
Build complex key instance from an untyped datamap representing a complex key as defined in QueryParamsDataMap

Parameters:
keyDataMap - untyped DataMap - all primitive values are represented as strings.
keyKeyClass - Class of the key component of ComplexResourceKey
keyParamsClass - Class of the params component of ComplexResourceKey
Returns:
ComplexResourceKey initialized with id and param values specified in the input DataMap

parseFromPathSegment

public static ComplexResourceKey<com.linkedin.data.template.RecordTemplate,com.linkedin.data.template.RecordTemplate> parseFromPathSegment(java.lang.String currentPathSegment,
                                                                                                                                           java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyKeyClass,
                                                                                                                                           java.lang.Class<? extends com.linkedin.data.template.RecordTemplate> keyParamsClass)
                                                                                                                                    throws PathSegment.PathSegmentSyntaxException
Throws:
PathSegment.PathSegmentSyntaxException

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)