17.1.4 パラメタ型
インジェクション用アノテーションを指定できるパラメタ型の一覧,およびDefaultValueアノテーションを組み合わせて使用できるかどうかを次の表に示します。
項番 |
データ型 |
アノテーション |
|||||||
---|---|---|---|---|---|---|---|---|---|
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がスローされます。