T
- The type parameter corresponding to the type parameter of the
Class
used as key (getKey()
).public class AdapterKey<T> extends java.lang.Object implements java.lang.Comparable<AdapterKey<T>>
Class
key and String
role to register adapters at
and retrieve them from IAdaptable
s. Using an AdapterKey
instead of just a Class
or TypeToken
key allows to register
several adapters under the same key, serving different roles. Nevertheless,
adapters can still be accessed in a type-safe manner. To register a default
adapter for a certain Class
or TypeToken
key, the
DEFAULT_ROLE
may be used.
Creating AdapterKey
s is supported by get(Class, String)
and
get(TypeToken, String)
, as well as get(Class)
and
get(TypeToken)
respectively, where the latter two will use the
DEFAULT_ROLE
.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_ROLE
A default role to be used for
AdapterKey s. |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(AdapterKey<T> o) |
static AdapterKey<?> |
defaultRole()
Returns an
AdapterKey with no type key and the 'default' role,
which can only be used in adapter map bindings. |
boolean |
equals(java.lang.Object obj) |
static <T> AdapterKey<T> |
get(java.lang.Class<T> key)
Creates a new
AdapterKey for the given raw type key and the
DEFAULT_ROLE role, which can be used to retrieve an adapter from
an IAdaptable. |
static <T> AdapterKey<T> |
get(java.lang.Class<T> key,
java.lang.String role)
Creates a new
AdapterKey for the given key and role. |
static <T> AdapterKey<T> |
get(com.google.common.reflect.TypeToken<T> key)
Creates a new
AdapterKey for the given type key and the
DEFAULT_ROLE role, which can be used to retrieve an adapter from
an IAdaptable. |
static <T> AdapterKey<T> |
get(com.google.common.reflect.TypeToken<T> key,
java.lang.String role)
Creates a new
AdapterKey for the given key and role, which can be
used to retrieve an adapter from an IAdaptable. |
com.google.common.reflect.TypeToken<T> |
getKey()
Returns the key used by this
AdapterKey . |
java.lang.String |
getRole()
Returns the role used by this
AdapterKey . |
int |
hashCode() |
static AdapterKey<?> |
role(java.lang.String role)
Returns an
AdapterKey with no type key and the given role, which
can only be used in adapter map bindings. |
java.lang.String |
toString() |
public static final java.lang.String DEFAULT_ROLE
AdapterKey
s.get(Class)
,
Constant Field Valuespublic static AdapterKey<?> defaultRole()
AdapterKey
with no type key and the 'default' role,
which can only be used in adapter map bindings. See AdapterMaps
.public static <T> AdapterKey<T> get(java.lang.Class<T> key)
AdapterKey
for the given raw type key and the
DEFAULT_ROLE
role, which can be used to retrieve an adapter from
an IAdaptable.T
- The adapter type.key
- The key to use for the newly created AdapterKey
. May
not be null
.AdapterKey
for the given key and role.get(Class, String)
public static <T> AdapterKey<T> get(java.lang.Class<T> key, java.lang.String role)
AdapterKey
for the given key and role.T
- The adapter type.key
- The key to use for the newly created AdapterKey
. May
not be null
.role
- The role to use for the newly created AdapterKey
. May
not be null
.AdapterKey
for the given key and role.public static <T> AdapterKey<T> get(com.google.common.reflect.TypeToken<T> key)
AdapterKey
for the given type key and the
DEFAULT_ROLE
role, which can be used to retrieve an adapter from
an IAdaptable.T
- The adapter type.key
- The key to use for the newly created AdapterKey
. May
not be null
.AdapterKey
for the given key and role.get(TypeToken, String)
public static <T> AdapterKey<T> get(com.google.common.reflect.TypeToken<T> key, java.lang.String role)
AdapterKey
for the given key and role, which can be
used to retrieve an adapter from an IAdaptable.T
- The adapter type.key
- The key to use for the newly created AdapterKey
. May
not be null
.role
- The role to use for the newly created AdapterKey
. May
not be null
.AdapterKey
for the given key and role.public static AdapterKey<?> role(java.lang.String role)
AdapterKey
with no type key and the given role, which
can only be used in adapter map bindings. See AdapterMaps
.role
- The role to use.public int compareTo(AdapterKey<T> o)
compareTo
in interface java.lang.Comparable<AdapterKey<T>>
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public com.google.common.reflect.TypeToken<T> getKey()
AdapterKey
.public java.lang.String getRole()
AdapterKey
.public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
Copyright (c) 2014 itemis AG and others. All rights reserved.