com.linkedin.restli.common
Class ComplexResourceKey<K extends com.linkedin.data.template.RecordTemplate,P extends com.linkedin.data.template.RecordTemplate>
java.lang.Object
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.
|
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 |
key
protected final K extends com.linkedin.data.template.RecordTemplate key
params
protected final P extends com.linkedin.data.template.RecordTemplate params
ComplexResourceKey
public ComplexResourceKey(K key,
P params)
- Initialize a ComplexResourceKey with the given key and parameters.
- Parameters:
key - the key component of theComplexResourceKeyparams - the parameter component of the ComplexResourceKey
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 ComplexResourceKeykeyParamsClass - 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)