Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


17.1.4 パラメタ型

インジェクション用アノテーションを指定できるパラメタ型の一覧,および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

×

×

×

×

×

×

(凡例)

○:インジェクション用アノテーションを使用できることを示します。

×:インジェクション用アノテーションを使用できないことを示します。

△:インジェクション用アノテーションを使用できることを示します。ただし,DefaultValueアノテーションを組み合わせて使用しないでください。

注※1

同じ名称のパラメタを複数受け取った場合,JAX-RSエンジンは最初のパラメタの値だけを使用します。

注※2

同じ名称のパラメタを複数受け取った場合,JAX-RSエンジンは最後のパラメタの値をインジェクトします。

注※3

String型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドとstaticなfromStringメソッドの両方を持つ型の場合,JAX-RSエンジンはstaticなfromStringメソッドを使用します。

注※4

String型の引数を一つ持ち,その型のインスタンスを返すstaticなvalueOfメソッドとstaticなfromStringメソッドの両方を持つ型の場合,JAX-RSエンジンはstaticなvalueOfメソッドを使用します。

注※5

enum型以外の場合,Tに指定するクラス,またはその親以上のクラスでは,Java言語の規約に従ってjava.lang.Objectのequals()メソッドとhashCode()メソッドを適切に実装している必要があります。

注※6

enum型以外の場合,Tに指定するクラス,またはその親以上のクラスでは,java.lang.Comparableインタフェースを実装している必要があります。

注※7

valueOfメソッド,fromStringメソッド,およびコンストラクタは,インジェクションの検証のため,初期化時に複数回呼び出されることがあります。

注※8

TがString型の場合は使用できます。ただし,DefaultValueアノテーションを組み合わせて使用しないでください。

注※9

TがString型の場合は使用できます。

上記の表の項番22,項番36,項番50,項番64,および項番65の型に各アノテーションが使用された場合,エラーが発生します(KDJJ10006-E)。ルートリソースクラスではHTTPステータスコード500のHTTPレスポンスが返されます。サブリソースクラスでは,例外マッピングプロバイダで処理できるjava.lang.RuntimeExceptionがスローされます。

また,上記の表の項番14,項番28,項番42,および項番56の型に各アノテーションが使用された場合,例外マッピングプロバイダで処理できるjava.lang.RuntimeExceptionがスローされます。