T - レスポンスエンティティインスタンス型 public class GenericEntity<T> extends ObjectSE
T のメッセージエンティティを表します。 通常、型消去はジェネリクス型情報を削除します。たとえば、List<String> 型のエンティティを含む Response インスタンスには、実行時に生の List<?> が含まれているように見えます。適切な MessageBodyWriter を選択するためにジェネリクス型が必要な場合、このクラスを使用してエンティティをラップし、そのジェネリクス型をキャプチャーできます。
インスタンスを作成するには、次の 2 つの方法があります。
MessageBodyWriter を選択するために実行時にジェネリクス型が使用可能になる型 List<String> のエンティティを含む Response を作成する方法を示しています。List<String> list = new ArrayList<String>();
GenericEntity<List<String>> entity = new GenericEntity<List<String>>(list) {};
Response response = Response.ok(entity).build(); ここで、list はレスポンス本文を形成する List<String> のインスタンスであり、エンティティは GenericEntity の匿名サブクラスのインスタンスです。
Method method = ...;
GenericEntity<Object> entity = new GenericEntity<Object>(
method.invoke(...), method.getGenericReturnType());
Response response = Response.ok(entity).build();上記はメソッドの戻り値の型からジェネリクス型を取得します。生の型はエンティティのクラスです。
GenericType| 修飾子 | コンストラクターと説明 |
|---|---|
protected | GenericEntity(T entity) 新しいジェネリクスエンティティを構築します。 |
| GenericEntity(T entity, TypeSE genericType) ジェネリクス型情報を提供して、GenericEntity の新しいインスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean | equals(ObjectSE obj) |
T | getEntity() 同封のエンティティを取得します。 |
ClassSE<?> | getRawType() 囲まれたエンティティの生の型を取得します。 |
TypeSE | getType() 基になる Type インスタンスを取得します。 |
int | hashCode() |
StringSE | toString() |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEprotected GenericEntity(T entity)
entity - エンティティインスタンスは、null であってはなりません。IllegalArgumentExceptionSE - エンティティが null の場合。public GenericEntity(T entity, TypeSE genericType)
entity が ArrayList<String> のインスタンスである場合、genericType は同じであるか、List<String> のような同じジェネリクス型を持つ ArrayList のスーパークラスである可能性があります。entity - エンティティインスタンスは、null であってはなりません。genericType - ジェネリクス型は、null であってはなりません。IllegalArgumentExceptionSE - エンティティが指定されたジェネリクス型の変数に代入できない場合、またはエンティティまたは genericType が null の場合。public final ClassSE<?> getRawType()
List ではなく ArrayList です。public final TypeSE getType()
Type インスタンスを取得します。これは、囲まれたインスタンスではなく、type パラメーターから派生していることに注意してください。つまり導入部の例では、型は ArrayList<String> ではなく List<String> です。public final T getEntity()
public int hashCode()
ObjectSE の hashCodeSE public StringSE toString()
ObjectSE の toStringSE Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.