T - response entity instance typepublic class GenericEntity<T> extends Object
T.
 
 Normally type erasure removes generic type information such that a
 Response instance that contains, e.g., an entity of type
 List<String> appears to contain a raw List<?> at runtime.
 When the generic type is required to select a suitable
 MessageBodyWriter, this class may be used to wrap the
 entity and capture its generic type.
 
There are two ways to create an instance:
Response containing an entity of type List<String> whose
 generic type will be available at runtime for selection of a suitable
 MessageBodyWriter:
 List<String> list = new ArrayList<String>();
 GenericEntity<List<String>> entity = new GenericEntity<List<String>>(list) {};
 Response response = Response.ok(entity).build();
 where list is the instance of List<String>
 that will form the response body and entity is an instance of an anonymous
 subclass of GenericEntity.
Method method = ...;
 GenericEntity<Object> entity = new GenericEntity<Object>(
    method.invoke(...), method.getGenericReturnType());
 Response response = Response.ok(entity).build();The above obtains the generic type from the return type of the method, the raw type is the class of entity.
GenericType| Modifier | Constructor | Description | 
|---|---|---|
| protected  | GenericEntity(T entity) | Constructs a new generic entity. | 
|   | GenericEntity(T entity,
             Type genericType) | Create a new instance of GenericEntity, supplying the generic type information. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| boolean | equals(Object obj) | |
| T | getEntity() | Get the enclosed entity. | 
| Class<?> | getRawType() | Gets the raw type of the enclosed entity. | 
| Type | getType() | Gets underlying  Typeinstance. | 
| int | hashCode() | |
| String | toString() | 
protected GenericEntity(T entity)
entity - the entity instance, must not be null.IllegalArgumentException - if entity is null.public GenericEntity(T entity, Type genericType)
entity is an instance of
 ArrayList<String> then genericType could
 be the same or a superclass of ArrayList with the same generic
 type like List<String>.entity - the entity instance, must not be null.genericType - the generic type, must not be null.IllegalArgumentException - if the entity is not assignable to
                                  a variable of the supplied generic type or if entity or genericType
                                  is null.public final Class<?> getRawType()
ArrayList not List.public final Type getType()
Type instance. Note that this is derived from the
 type parameter, not the enclosed instance. I.e. in the example
 in the introduction, the type is List<String> not
 ArrayList<String>.public final T getEntity()
Copyright (c) 2019 Eclipse Foundation. Licensed under Eclipse Foundation Specification License.