org.elasticsearch.common.inject.util
Class Types

java.lang.Object
  extended by org.elasticsearch.common.inject.util.Types

public final class Types
extends java.lang.Object

Static methods for working with types.

Since:
2.0

Method Summary
static java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type componentType)
          Returns an array type whose elements are all instances of componentType.
static java.lang.reflect.ParameterizedType listOf(java.lang.reflect.Type elementType)
          Returns a type modelling a List whose elements are of type elementType.
static java.lang.reflect.ParameterizedType mapOf(java.lang.reflect.Type keyType, java.lang.reflect.Type valueType)
          Returns a type modelling a Map whose keys are of type keyType and whose values are of type valueType.
static java.lang.reflect.ParameterizedType newParameterizedType(java.lang.reflect.Type rawType, java.lang.reflect.Type... typeArguments)
          Returns a new parameterized type, applying typeArguments to rawType.
static java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType, java.lang.reflect.Type rawType, java.lang.reflect.Type... typeArguments)
          Returns a new parameterized type, applying typeArguments to rawType and enclosed by ownerType.
static java.lang.reflect.ParameterizedType providerOf(java.lang.reflect.Type providedType)
          Returns a type modelling a Provider that provides elements of type elementType.
static java.lang.reflect.ParameterizedType setOf(java.lang.reflect.Type elementType)
          Returns a type modelling a Set whose elements are of type elementType.
static java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type bound)
          Returns a type that represents an unknown type that extends bound.
static java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type bound)
          Returns a type that represents an unknown supertype of bound.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newParameterizedType

public static java.lang.reflect.ParameterizedType newParameterizedType(java.lang.reflect.Type rawType,
                                                                       java.lang.reflect.Type... typeArguments)
Returns a new parameterized type, applying typeArguments to rawType. The returned type does not have an owner type.

Returns:
a serializable parameterized type.

newParameterizedTypeWithOwner

public static java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType,
                                                                                java.lang.reflect.Type rawType,
                                                                                java.lang.reflect.Type... typeArguments)
Returns a new parameterized type, applying typeArguments to rawType and enclosed by ownerType.

Returns:
a serializable parameterized type.

arrayOf

public static java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type componentType)
Returns an array type whose elements are all instances of componentType.

Returns:
a serializable generic array type.

subtypeOf

public static java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type bound)
Returns a type that represents an unknown type that extends bound. For example, if bound is CharSequence.class, this returns ? extends CharSequence. If bound is Object.class, this returns ?, which is shorthand for ? extends Object.


supertypeOf

public static java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type bound)
Returns a type that represents an unknown supertype of bound. For example, if bound is String.class, this returns ? super String.


listOf

public static java.lang.reflect.ParameterizedType listOf(java.lang.reflect.Type elementType)
Returns a type modelling a List whose elements are of type elementType.

Returns:
a serializable parameterized type.

setOf

public static java.lang.reflect.ParameterizedType setOf(java.lang.reflect.Type elementType)
Returns a type modelling a Set whose elements are of type elementType.

Returns:
a serializable parameterized type.

mapOf

public static java.lang.reflect.ParameterizedType mapOf(java.lang.reflect.Type keyType,
                                                        java.lang.reflect.Type valueType)
Returns a type modelling a Map whose keys are of type keyType and whose values are of type valueType.

Returns:
a serializable parameterized type.

providerOf

public static java.lang.reflect.ParameterizedType providerOf(java.lang.reflect.Type providedType)
Returns a type modelling a Provider that provides elements of type elementType.

Returns:
a serializable parameterized type.