インジェクション用アノテーションを指定できるパラメタ型の一覧,およびDefaultValueアノテーションを組み合わせて使用できるかどうかを次の表に示します。
表17-8 各アノテーションをサポートしているパラメタの型
項番 | データ型 | アノテーション | |||||||
---|---|---|---|---|---|---|---|---|---|
PathParam | QueryParam | MatrixParam | CookieParam | HeaderParam | FormParam | Context | |||
1 | プリミティブ | int | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × |
2 | short | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
3 | long | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
4 | float | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
5 | double | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
6 | char | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
7 | byte | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
8 | boolean | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
9 | ラッパクラス | Integer | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × |
10 | Short | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
11 | Long | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
12 | Float | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
13 | Double | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
14 | Character | × | × | × | × | × | × | × | |
15 | Byte | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
16 | Boolean | △ | ○※1 | ○※1 | ○※2 | ○※1 | ○※1 | × | |
17 | String型の引数を一つ持つコンストラクタを持つ型 | △※7 | ○※1,※7 | ○※1,※7 | ○※2,※7 | ○※1,※7 | ○※1,※7 | × | |
18 | String型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドを持つ型 | △※7 | ○※1,※7 | ○※1,※7 | ○※2,※7 | ○※1,※7 | ○※1,※7 | × | |
19 | String型の引数を一つ持ち,その型のインスタンスを返すstaticなfromStringメソッドを持つ型 | △※7 | ○※1,※7 | ○※1,※7 | ○※2,※7 | ○※1,※7 | ○※1,※7 | × | |
20 | String型の引数を一つ持ち,その型のインスタンスを返すstaticなfromStringメソッドを持つenum型 | △※3,※7 | ○※1,※3,※7 | ○※1,※3,※7 | ○※2,※3,※7 | ○※1,※3,※7 | ○※1,※3,※7 | × | |
21 | String型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfとfromStringメソッドの両方を持つenum以外の型 | △※4,※7 | ○※1,※4,※7 | ○※1,※4,※7 | ○※2,※4,※7 | ○※1,※4,※7 | ○※1,※4,※7 | × | |
22 | 上記以外 | × | × | × | × | × | × | × | |
23 | List<T> | TがIntegerの場合 | △ | ○ | ○ | × | ○ | ○ | × |
24 | T がShortの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
25 | TがLongの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
26 | T がFloatの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
27 | TがDoubleの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
28 | Tが Characterの場合 | × | × | × | × | × | × | × | |
29 | TがByteの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
30 | TがBooleanの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
31 | TがString型の引数を一つ持つコンストラクタを持つ型の場合 | △※7 | ○※7 | ○※7 | × | ○※7 | ○※7 | × | |
32 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドを持つ場合 | △※7 | ○※7 | ○※7 | × | ○※7 | ○※7 | × | |
33 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなfromStringメソッドを持つ場合 | △※7 | ○※7 | ○※7 | × | ○※7 | ○※7 | × | |
34 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなfromStringメソッドを持つenum型の場合 | △※3,※7 | ○※3,※7 | ○※3,※7 | × | ○※3,※7 | ○※3,※7 | × | |
35 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドとfromStringメソッドの両方を持つenum以外の型の場合 | △※4,※7 | ○※4,※7 | ○※4,※7 | × | ○※4,※7 | ○※4,※7 | × | |
36 | Tが上記以外の場合 | × | × | × | × | × | × | × | |
37 | Set<T>※5 | TがIntegerの場合 | △ | ○ | ○ | × | ○ | ○ | × |
38 | T がShortの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
39 | TがLongの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
40 | T がFloatの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
41 | TがDoubleの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
42 | Tが Characterの場合 | × | × | × | × | × | × | × | |
43 | TがByteの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
44 | TがBooleanの場合 | △ | ○ | ○ | × | ○ | ○ | × | |
45 | TがString型の引数を一つ持つコンストラクタを持つ型の場合 | △※7 | ○※7 | ○※7 | × | ○※7 | ○※7 | × | |
46 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドを持つ場合 | △※7 | ○※7 | ○※7 | × | ○※7 | ○※7 | × | |
47 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなfromStringメソッドを持つ場合 | △※7 | ○※7 | ○※7 | × | ○※7 | ○※7 | × | |
48 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドとfromStringメソッドの両方を持つenum型の場合 | △※3,※7 | ○※3,※7 | ○※3,※7 | × | ○※3,※7 | ○※3,※7 | × | |
49 | TがString型の引数を一つ持ち,その型のインスタンスを返すvalueOfメソッドとfromStringメソッドの両方を持つenum以外の型の場合 | △※4,※7 | ○※4,※7 | ○※4,※7 | × | ○※4,※7 | ○※4,※7 | × | |
50 | Tが上記以外の場合 | × | × | × | × | × | × | × | |
51 | Sorted Set<T>※5,※6 | TがIntegerの場合 | × | × | × | × | × | × | × |
52 | T がShortの場合 | × | × | × | × | × | × | × | |
53 | TがLongの場合 | × | × | × | × | × | × | × | |
54 | T がFloatの場合 | × | × | × | × | × | × | × | |
55 | TがDoubleの場合 | × | × | × | × | × | × | × | |
56 | Tが Characterの場合 | × | × | × | × | × | × | × | |
57 | TがByteの場合 | × | × | × | × | × | × | × | |
58 | TがBooleanの場合 | × | × | × | × | × | × | × | |
59 | TがString型の引数を一つ持つコンストラクタを持つ型の場合 | ×※7,※8 | ×※7,※9 | ×※7,※9 | × | ×※7,※9 | ×※7,※9 | × | |
60 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドを持つ場合 | ×※7,※8 | ×※7,※9 | ×※7,※9 | × | ×※7,※9 | ×※7,※9 | × | |
61 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなfromStringメソッドを持つ場合 | × | × | × | × | × | × | × | |
62 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドとfromStringメソッドの両方を持つenum型の場合 | × | × | × | × | × | × | × | |
63 | TがString型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドとfromStringメソッドの両方を持つenum以外の型の場合 | × | × | × | × | × | × | × | |
64 | Tが上記以外の場合 | × | × | × | × | × | × | × | |
65 | PathSegment | △ | × | × | × | × | × | × | |
66 | コンテキスト型 | UriInfo | × | × | × | × | × | × | △ |
67 | HttpHeaders | × | × | × | × | × | × | △ | |
68 | Request | × | × | × | × | × | × | △ | |
69 | SecurityContext | × | × | × | × | × | × | △ | |
70 | Providers | × | × | × | × | × | × | △ | |
71 | ServletConfig | × | × | × | × | × | × | △ | |
72 | ServletContext | × | × | × | × | × | × | △ | |
73 | HttpServletRequest | × | × | × | × | × | × | △ | |
74 | HttpServletResponse | × | × | × | × | × | × | △ |
上記の表の項番22,項番36,項番50,項番64,および項番65の型に各アノテーションが使用された場合,エラーが発生します(KDJJ10006-E)。ルートリソースクラスではHTTPステータスコード500のHTTPレスポンスが返されます。サブリソースクラスでは,例外マッピングプロバイダで処理できるjava.lang.RuntimeExceptionがスローされます。
また,上記の表の項番14,項番28,項番42,および項番56の型に各アノテーションが使用された場合,例外マッピングプロバイダで処理できるjava.lang.RuntimeExceptionがスローされます。