7. アノテーション定義支援ツール

Java EE より開発容易性の一環として、アノテーション が導入されます。アノテーション定義を使うことで、配備記述子によるXML編集の煩雑さは解消され、Java EEコンポーネントを簡単に作成できます。しかし、アノテーション定義は、数多く存在し、これらをまとめてソースコード編集すると生産効率が下がる場合があります。 WebOTX Developer's Studioアノテーションエディタは、アノテーション定義をGUI化することで、編集作業を簡略化します。
アノテーションエディタは以下の機能があります。
アノテーションの一覧表示・編集
Javaソースの持つアノテーションを一覧表示します。さらに、GUIでアノテーションの付与・更新・削除機能を提供します。
アノテーションの表示選択
用途別にアノテーションをカテゴリに分け、そのカテゴリ毎にビューに、表示する/しない を選択できる機能を提供します。この機能により、ユーザが表示するアノテーションを制御できるようになります。
アノテーションの検証
ある要素にアノテーションが付与できるかどうかの検証やアノテーションの属性などに入力される値の検証機能を提供します。

7.1. アノテーションの一覧表示・編集

7.1.1. 注釈プロパティー・ビューの表示

事前に、プロジェクトのビルドパスの「ライブラリー」タブに「WebOTX Application Server」サーバー・ランタイムを追加します。


図8.1.1-1


注釈プロパティー・ビューは以下の手順で開きます。
メニュー ウィンドウビューの表示 > その他... を選択すると、ビューの表示画面が表示されます。
ビューの表示画面で、Webサービス 注釈プロパティー を選択して、OK をクリックします。


図8.1.1-2

注釈プロパティー・ビューが表示されます。


図8.1.1-3

エディタで選択されるJava要素によって、付与できるアノテーションを一覧表示します。
注釈プロパティー・ビューは以下のような画面です。


図8.1.1-4

各項目の説明を以下に示します。
表8.1.1-1
項番 項目 説明 備考
(1)
フィルター
クリックした場合、カテゴリのフィルターダイアログを開く。
用途別にアノテーションをカテゴリに分け、そのカテゴリ毎にビューに、表示する/しない を選択できる機能を提供します。この機能により、ユーザが表示するアノテーションを制御できるようになります。
(2)
注釈
アノテーションの名前あるいはアノテーションの属性名を表示します。
(3)

アノテーション名の場合は該当アノテーションがJava要素に付与されるかどうかを示します。
アノテーション属性の場合は、該当属性の値を示します。
(1)アノテーション名の場合:
チェックボックスで設定します。
ONにした場合、該当アノテーションがJava要素に付与されます。
OFFにした場合、該当アノテーションがJava要素に付与されません。

(2)アノテーション属性の場合:
booleanの場合は、チェックボックスで、ONとOFFだけで設定できます。
列挙の場合は、コンボボックスリストで設定できます。
Classの場合は、テキストボックスまたは参照ボタンで編集できます。
配列の場合は、参照ボタンで開くダイアログで設定できます。
その以外は、テキストボックスで編集できます。
(4)
ボタン
アノテーションの属性を表示するかどうかを制御します。
をクリックして、該当アノテーションの属性を表示します。
をクリックして、該当アノテーションの属性を表示しません。
付与の対象となるJava要素は以下の型に分かれています。
表8.1.1-2
記号 説明
[T] Type
Java要素はクラス、インターフェース(アノテーションを含む)、あるいはenum(列挙型)であることを示します。
[C] Constructor
Java要素はコンストラクターであることを示します。
[M] Method
Java要素はメソッドであることを示します。
[F] Field
Java要素はフィールドであることを示します。
[Par] Parameter  
Java要素はパラメータであることを示します。
[A] AnnotationType  
Java要素はアノテーションタイプであることを示します。
[Pkg] Package  
Java要素はパッケージであることを示します。
アノテーションの付与できる対象はTarget属性としてアノテーション側で定義されています。エディタでJava要素にフォーカスをあてると、注釈プロパティー・ビューには、Targetの適合するアノテーションの一覧が表示され、編集することができます。

Caution
コンストラクターはMethodに含まれません。型はConstructorのみまたはMethodのみの場合、コンストラクターはサポートしません。型はConstructor、Method両方である場合、コンストラクターはサポートします。

7.1.2. アノテーションの一覧表示機能

Java要素の型別に付与できるアノテーションを一覧表示する機能について説明します。
7.1.2.1. 付与対象がクラスの場合
クラス(Type)に付与できるアノテーションの一覧表示は以下の画面の通りです。
付与対象がクラスまたはメソッドで、カテゴリが EJB である場合の画面表示を例に説明を行います。


図8.1.2-1

エディタでクラス名が選択された場合、javax.ejb.Statelessやjavax.ejb.StatefulなどTargetがTypeであるアノテーションが一覧表示されます。(TargetがMethodであるjavax.ejb.PostActivateやjavax.ejb.PrePassivateなどは、一覧には表示されません。)
7.1.2.2. 付与対象がメソッドの場合
メソッドに付与できるEJBに所属するアノテーションの一覧表示は以下の画面の通りです。


図8.1.2-2

エディタでメソッド名が選択された場合、javax.ejb.PostActivateやjavax.ejb.PrePassivateなどTargetがMethodであるアノテーションが、ビューで表示されます。(前出の、TargetがTypeであるjavax.ejb.Statelessやjavax.ejb.Statefulなどは一覧には表示されません。 )
表8.1.2-1
選択された付与対象 カテゴリ 説明
クラス
プロジェクトのアノテーション表示選択により、選択された該当カテゴリのアノテーションを表示します。詳しくはアノテーションの表示選択を参照してください。
カテゴリ設定範囲内において、Target定義にクラスが含まれるアノテーションを表示します。
メソッド
カテゴリ設定範囲内において、Target定義にメソッドが含まれるアノテーションを表示します。
その他
カテゴリ設定範囲内において、Target定義に付与対象が含まれるアノテーションを表示します。

Memo
1.javax.ejb.TransactionAttributeやjavax.interceptor.InterceptorsなどTargetがType、Method両方であるアノテーションは、クラス名が選択された場合もメソッドが選択された場合も、一覧に表示されます。
2.アノテーションをTargetとは異なる対象に付与すると、エディタでエラーが発生します。詳しい情報はアノテーションの検証を参照してください。
3.各アノテーションのTargetは、サポートするアノテーションを参照してください。

7.1.3. アノテーションの新規追加機能

具体例として、javax.ejb.StatelessをJavaクラスへ追加する例を用いてアノテーションの新規追加機能の使い方を説明します。
下図は、アノテーションを追加する前のエディタと注釈プロパティー・ビューの状態です。


図8.1.3-1

注釈プロパティー・ビューで、javax.ejb.StatelessアノテーションのをONに変更します。


図8.1.3-2

javax.ejb.StatelessアノテーションがクラスTestStatelessSessionBeanに付与されます。
下図は、javax.ejb.StatelessアノテーションがクラスTestStatelessSessionBeanに付与された後の画面です。


図8.1.3-3

エディタで、以下の変化をご確認ください。
(1) TestStatelessSessionBeanクラスの定義前で@Stateless()が追加されます。
(2) import javax.ejb.Stateless;句が追加されます。
(3) 注釈プロパティー・ビューでjavax.ejb.Statelessアノテーションの値がONになっています。

7.1.4. アノテーションの属性の変更機能

注釈プロパティー・ビューを使って、Java要素に付与されるアノテーションの属性を追加・更新・削除することができます。
以下は具体例として、javax.ejb.Statelessを変更する場合です。
下図は、属性変更の前のエディタと注釈プロパティー・ビュー状態です。


図8.1.4-1

7.1.4.1. 属性の追加
注釈プロパティー・ビューで、javax.ejb.Statelessアノテーションのdescription属性のにThe description of Stateless Annotationと、入力して、ENTER キーを押します。


図8.1.4.1-1

エディタで、@Statelessアノテーションにdescription属性が追加されます。
結果は、下図のとおりです。


図8.1.4.1-2

括弧が無い場合の手順
後ろに括弧が無いアノテーションに注釈プロパティー・ビューで正しく属性を追加することはできません。
このような場合、別途エディタを用いてアノテーションに括弧を追加してから編集して下さい。
詳細は、注釈プロパティー・ビューで属性を追加できないをご覧ください。
7.1.4.2. 属性の変更


図8.1.4.2-1

注釈プロパティー・ビューでjavax.ejb.Statelessのdescription属性の値を "Modified It!" に変更して、ENTER キーを押すと、変更結果がエディタに反映されます。


図8.1.4.2-2

7.1.4.3. 属性の削除


図8.1.4.3-1

注釈プロパティー・ビューでjavax.ejb.Statelessのdescription属性の値を空白にして、ENTER キーを押すと、エディタで@Statelessアノテーションのdescription属性が""になります。


図8.1.4.3-2

7.1.5. アノテーションの削除機能

注釈プロパティー・ビューで、アノテーションを削除する機能です。
具体例として、javax.ejb.Stateless アノテーションの削除方法を説明します。
下図は、アノテーションを削除する前のエディタと注釈プロパティー・ビューの状態です。


図8.1.5-1

注釈プロパティー・ビューでjavax.ejb.StatelessアノテーションのをOFFにします。


図8.1.5-2

エディタで、@Statelessアノテーションが削除されます。


図8.1.5-3

Memo
削除されたアノテーションの定義クラスのimport句((1)の部分)は、他の箇所で利用していない場合、同時に削除されます。

7.2. アノテーションの表示選択

7.2.1. 機能説明

アノテーションの表示選択の使用方法について説明します。

7.2.2. カテゴリのフィルターダイアログの表示

注釈プロパティー・ビューの右上隅にある逆三角形のアイコン > フィルター... をクリックします。


図8.2.2-1

カテゴリのフィルターダイアログが表示されます。


図8.2.2-2

カテゴリのフィルターダイアログは以下のような画面です。


図8.2.2-3

各項目の説明を以下に示します。
表8.2.2-1
項番 項目 説明 備考
(1)
ダイアログの提示情報
「Select Annotation Categories to Filter」というメッセージが表示されます。

(2)
WebSocket チェックボックス
WebSocketカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(3)
JAX-RS チェックボックス
JAX-RSカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(4)
Java EE共通 チェックボックス
Java EE共通カテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(5)
Portlet チェックボックス
Portletカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(6)
Batch チェックボックス
Batchカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(7)
CDI チェックボックス
CDIカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(8)
JCA チェックボックス
JCA カテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(9)
JavaMail チェックボックス
JavaMailカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(10)
JTA チェックボックス
JTAカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(11)
Servlet チェックボックス
Servletカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(12)
JAX-WS チェックボックス
JAX-WSカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(13)
JMS チェックボックス
JMSカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(14)
EJB チェックボックス
EJBカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(15)
JSF チェックボックス
JSFカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(16)
Bean Validation チェックボックス
Bean Validationカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(17)
JAXB チェックボックス
JAXBカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(18)
JPA チェックボックス
JPAカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(19)
すべて選択(S) ボタン
すべてのカテゴリを選択します。
(20)
選択をすべて解除(D)ボタン
すべてのカテゴリの選択を解除します。

(21)
OKボタン
カテゴリに所属するアノテーション表示・非表示の変更を適用します。

(22)
キャンセルボタン
カテゴリに所属するアノテーション表示・非表示の変更を適用しません。


Caution
全てのカテゴリにおいてJavaモジュールのバージョンは5.0以上でなければなりません。

7.2.3. 表示するカテゴリの選択

注釈プロパティー・ビューに表示するカテゴリを選択できます。 これにより、必要なアノテーションだけを表示でき、目的のアノテーションの探索が容易になります。

下図では、注釈プロパティー・ビューにアノテーションが表示されていません。


図8.2.3-1

ここで、EJBカテゴリをビューに表示するように、カテゴリのフィルターダイアログで設定します。

カテゴリのフィルターダイアログでは、ビューに表示しないカテゴリを指定します。 したがって、EJBカテゴリをビューに表示する場合は、EJBをOFFにします。


図8.2.3-2

エディタ内の、クラスを選択すると、クラスに付与できるEJBカテゴリのアノテーションが一覧表示されるようになります。


図8.2.3-3

他の四つのカテゴリに所属するアノテーションは表示されないことを、ご確認ください。

Caution
1.注釈プロパティー・ビューで表示されないアノテーションも、エディタで入力することは可能です。
2. エディタでアノテーションが正しく付与できない場合、アノテーションの検証をご覧ください。

7.2.4. ファセットにしたがってアノテーションの自動表示

ファセットにしたがってアノテーションの表示するカテゴリを自動選択することができます。

例えば、Portlet ファセットを含めないプロジェクト内のJAVAファイルを編集する場合、カテゴリ Portlet はカテゴリのフィルターダイアログで自動的に ON になることで、そのカテゴリ配下のアノテーションを注釈プロパティー・ビューで表示しません。
一方、Portlet ファセットを含むプロジェクト内のJAVAファイルに切り替えると、Portlet カテゴリ下のアノテーションが自動的に表示するようになります。

ファセットにしたがって自動表示されるカテゴリは下表の通りです。
表8.2.4-1
カテゴリ 説明
Portlet プロジェクトにPortletファセットを含む場合、このカテゴリのアノテーションを表示します。
その他場合、このカテゴリのアノテーションを表示しません。
この自動表示選択を有効するかどうかは、 ウインドウ > 設定 > WebOTX > アノテーション ページで設定できます。


図8.2.4-1

プロジェクトのファセットにしたがってPortletのアノテーションを表示するON にした場合、自動表示選択機能が有効します。OFF にした場合、有効しません。

7.3. アノテーションの検証

アノテーションを記述した際の、妥当性の検証機能について説明します。
妥当性は、付与する対象、指定する属性などについて判定されます。
各アノテーションの妥当な指定については、サポートするアノテーションを参照してください。

7.3.1. アノテーションの定義位置の検証機能

付与する対象の妥当性についての検証です。
以下は、メソッドには付与できない@Statefulアノテーションを、エディタで強制的に付与した際の、エラーの例です。 マウスをエラー発生箇所に置くと、関連するエラーメッセージが表示されます。


図8.3.1-1

7.3.2. アノテーションの属性名の検証機能

属性名の妥当性についての検証です。
クラスに付与される@Statefulアノテーションに "mappedName2"という、存在しない属性を設定しています。 マウスをエラー発生箇所に置くと、関連するエラーメッセージが表示されます。


図8.3.2-1

7.3.3. アノテーションの属性のタイプの検証機能

属性に指定した型の妥当性についての検証です。
@MessageDrivenアノテーションのactivationConfig属性に、期待する型とは異なる文字列型の値を設定すると、エディタでエラーが発生します。また、マウスをエラー発生箇所に置くと、関連するエラーメッセージが表示されます。


図8.3.3-1

7.4. サポートするアノテーション

各アノテーションが付与できる Target について説明します。

7.4.1. Java EE共通 アノテーション

Java EE共通カテゴリに所属するアノテーションは以下の通りです。
表8.4.1-1
項番 パッケージ名 アノテーション名 Target
1
javax.annotation
Generated
[ALL]
2
javax.annotation
PostConstruct
[M]
3
javax.annotation
PreDestroy
[M]
4
javax.annotation
Resource
[F, M, T]
5
javax.annotation
Resources
[T]
6
javax.annotation
ManagedBean
[T]
7
javax.annotation
Priority
[T]
8
javax.annotation.security
DeclareRoles
[T]
9
javax.annotation.security
DenyAll
[M]
10
javax.annotation.security
PermitAll
[M, T]
11
javax.annotation.security
RolesAllowed
[M, T]
12
javax.annotation.security
RunAs
[T]
13
javax.annotation.sql
DataSourceDefinition
[T]
14
javax.annotation.sql
DataSourceDefinitions
[T]
15
javax.ejb
EJB
[F, M, T]
16
javax.ejb
EJBs
[T]
17
javax.persistence
PersistenceContext
[F, M, T]
18
javax.persistence
PersistenceContexts
[T]
19
javax.persistence
PersistenceUnit
[F, M, T]
20
javax.persistence
PersistenceUnits
[T]

Memo
EJB(s)、PersistenceContext(s)とPersistenceUnit(s)の6つのアノテーションが他のパッケージからJava EE共通カテゴリに移動します。

7.4.2. EJBアノテーション

EJB カテゴリに所属するアノテーションは以下の通りです。
表8.4.2-1
項番 パッケージ名 アノテーション名 Target
1
javax.ejb
ActivationConfigProperty
[]
2
javax.ejb
ApplicationException
[T]
3
javax.ejb
Init
[M]
4
javax.ejb
Local
[T]
5
javax.ejb
LocalHome
[T]
6
javax.ejb
MessageDriven
[T]
7
javax.ejb
PostActivate
[M]
8
javax.ejb
PrePassivate
[M]
9
javax.ejb
Remote
[T]
10
javax.ejb
RemoteHome
[T]
11
javax.ejb
Remove
[M]
12
javax.ejb
Stateful
[T]
13
javax.ejb
Stateless
[T]
14
javax.ejb
Timeout
[M]
15
javax.ejb
TransactionAttribute
[M, T]
16
javax.ejb
TransactionManagement
[T]
17
javax.interceptor
AroundInvoke
[M]
18
javax.interceptor
ExcludeClassInterceptors
[M, C]
19
javax.interceptor
ExcludeDefaultInterceptors
[M, T, C]
20
javax.interceptor
Interceptors
[M, T, C]
21
javax.ejb
AccessTimeout
[M, T]
22
javax.ejb
AfterBegin
[M]
23
javax.ejb
AfterCompletion
[M]
24
javax.ejb
Asynchronous
[M, T]
25
javax.ejb
BeforeCompletion
[M]
26
javax.ejb
ConcurrencyManagement
[T]
27
javax.ejb
DependsOn
[T]
28
javax.ejb
LocalBean
[T]
29
javax.ejb
Lock
[M, T]
30
javax.ejb
Schedule
[M]
31
javax.ejb
Schedules
[M]
32
javax.ejb
Singleton
[T]
33
javax.ejb
Startup
[T]
34
javax.ejb
StatefulTimeout
[T]
35
javax.interceptor
AroundTimeout
[M]
36
javax.interceptor
Interceptor
[T]
37
javax.interceptor
InterceptorBinding
[A]
38
javax.interceptor
AroundConstruct
[M]

Memo
javax.ejbパッケージで定義されているEJBとEJBsアノテーションはJava EE共通カテゴリに移動します。

7.4.3. JPAアノテーション

JPA カテゴリに所属するアノテーションは以下の通りです。
表8.4.3-1
項番 パッケージ名 アノテーション名 Target
1
javax.persistence
AssociationOverride
[T,M,F]
2
javax.persistence
AssociationOverrides
[T,M,F]
3
javax.persistence
AttributeOverride
[T,M,F]
4
javax.persistence
AttributeOverrides
[T,M,F]
5
javax.persistence
Basic
[M,F]
6
javax.persistence
Column
[M,F]
7
javax.persistence
ColumnResult
[]
8
javax.persistence
ConstructorResult
[]
9
javax.persistence
Convert
[M, F, T]
10
javax.persistence
Converter
[T]
11
javax.persistence
Converts
[M, F, T]
12
javax.persistence
DiscriminatorColumn
[T]
13
javax.persistence
DiscriminatorValue
[T]
14
javax.persistence
Embeddable
[T]
15
javax.persistence
Embedded
[M,F]
16
javax.persistence
EmbeddedId
[M,F]
17
javax.persistence
Entity
[T]
18
javax.persistence
EntityListeners
[T]
19
javax.persistence
EntityResult
[]
20
javax.persistence
Enumerated
[M,F]
21
javax.persistence
ExcludeDefaultListeners
[T]
22
javax.persistence
ExcludeSuperclassListeners
[T]
23
javax.persistence
FieldResult
[]
24
javax.persistence
ForeignKey
[M,F]
25
javax.persistence
GeneratedValue
[M,F]
26
javax.persistence
Id
[M,F]
27
javax.persistence
IdClass
[T]
28
javax.persistence
Index
[]
29
javax.persistence
Inheritance
[T]
30
javax.persistence
JoinColumn
[M,F]
31
javax.persistence
JoinColumns
[M,F]
32
javax.persistence
JoinTable
[M,F]
33
javax.persistence
Lob
[M,F]
34
javax.persistence
ManyToMany
[M,F]
35
javax.persistence
ManyToOne
[M,F]
36
javax.persistence
MapKey
[M,F]
37
javax.persistence
MappedSuperclass
[T]
38
javax.persistence
NamedAttributeNode
[]
39
javax.persistence
NamedEntityGraph
[T]
40
javax.persistence
NamedEntityGraphs
[T]
41
javax.persistence
NamedNativeQueries
[T]
42
javax.persistence
NamedNativeQuery
[T]
43
javax.persistence
NamedQueries
[T]
44
javax.persistence
NamedQuery
[T]
45
javax.persistence
NamedStoredProcedureQueries
[T]
46
javax.persistence
NamedStoredProcedureQuery
[T]
47
javax.persistence
NamedSubgraph
[]
48
javax.persistence
OneToMany
[M,F]
49
javax.persistence
OneToOne
[M,F]
50
javax.persistence
OrderBy
[M,F]
51
javax.persistence
PersistenceProperty
[]
52
javax.persistence
PostLoad
[M]
53
javax.persistence
PostPersist
[M]
54
javax.persistence
PostRemove
[M]
55
javax.persistence
PostUpdate
[M]
56
javax.persistence
PrePersist
[M]
57
javax.persistence
PreRemove
[M]
58
javax.persistence
PreUpdate
[M]
59
javax.persistence
PrimaryKeyJoinColumn
[T,M,F]
60
javax.persistence
PrimaryKeyJoinColumns
[T,M,F]
61
javax.persistence
QueryHint
[]
62
javax.persistence
SecondaryTable
[T]
63
javax.persistence
SecondaryTables
[T]
64
javax.persistence
SequenceGenerator
[T,M,F]
65
javax.persistence
SqlResultSetMapping
[T]
66
javax.persistence
SqlResultSetMappings
[T]
67
javax.persistence
StoredProcedureParameter
[]
68
javax.persistence
Table
[T]
69
javax.persistence
TableGenerator
[T,M,F]
70
javax.persistence
Temporal
[M,F]
71
javax.persistence
Transient
[M,F]
72
javax.persistence
UniqueConstraint
[]
73
javax.persistence
Version
[M,F]
74
javax.persistence
Access
[T,M,F]
75
javax.persistence
Cacheable
[T]
76
javax.persistence
CollectionTable
[M,F]
77
javax.persistence
ElementCollection
[M,F]
78
javax.persistence
MapKeyClass
[M,F]
79
javax.persistence
MapKeyColumn
[M,F]
80
javax.persistence
MapKeyEnumerated
[M,F]
81
javax.persistence
MapKeyJoinColumn
[M,F]
82
javax.persistence
MapKeyJoinColumns
[M,F]
83
javax.persistence
MapKeyTemporal
[M,F]
84
javax.persistence
MapsId
[M,F]
85
javax.persistence
OrderColumn
[M,F]
86
javax.persistence.metamodel
StaticMetamodel
[T]
87
org.eclipse.persistence.annotations
AdditionalCriteria
[T]
88
org.eclipse.persistence.annotations
Array
[M,F]
89
org.eclipse.persistence.annotations
BasicCollection
[M,F]
90
org.eclipse.persistence.annotations
BasicMap
[M,F]
91
org.eclipse.persistence.annotations
BatchFetch
[M,F]
92
org.eclipse.persistence.annotations
Cache
[T]
93
org.eclipse.persistence.annotations
CacheIndex
[M, F, T]
94
org.eclipse.persistence.annotations
CacheIndexes
[T]
95
org.eclipse.persistence.annotations
CacheInterceptor
[T]
96
org.eclipse.persistence.annotations
CascadeOnDelete
[M,F,T]
97
org.eclipse.persistence.annotations
ChangeTracking
[T]
98
org.eclipse.persistence.annotations
ClassExtractor
[T]
99
org.eclipse.persistence.annotations
CloneCopyPolicy
[T]
100
org.eclipse.persistence.annotations
CollectionTable
[M,F]
101
org.eclipse.persistence.annotations
CompositeMember
[M,F]
102
org.eclipse.persistence.annotations
ConversionValue
[]
103
org.eclipse.persistence.annotations
Convert
[M,F]
104
org.eclipse.persistence.annotations
Converter
[T,M,F]
105
org.eclipse.persistence.annotations
Converters
[T,M,F]
106
org.eclipse.persistence.annotations
CopyPolicy
[T]
107
org.eclipse.persistence.annotations
Customizer
[T]
108
org.eclipse.persistence.annotations
DeleteAll
[M, F]
109
org.eclipse.persistence.annotations
DiscriminatorClass
[]
110
org.eclipse.persistence.annotations
ExcludeDefaultMappings
[T]
111
org.eclipse.persistence.annotations
ExistenceChecking
[T]
112
org.eclipse.persistence.annotations
FetchAttribute
[]
113
org.eclipse.persistence.annotations
FetchGroup
[T]
114
org.eclipse.persistence.annotations
FetchGroups
[T]
115
org.eclipse.persistence.annotations
HashPartitioning
[T,M,F]
116
org.eclipse.persistence.annotations
Index
[M,F,T]
117
org.eclipse.persistence.annotations
Indexes
[M,F,T]
118
org.eclipse.persistence.annotations
InstantiationCopyPolicy
[T]
119
org.eclipse.persistence.annotations
JoinFetch
[M,F]
120
org.eclipse.persistence.annotations
MapKeyConvert
[M,F]
121
org.eclipse.persistence.annotations
Multitenant
[T]
122
org.eclipse.persistence.annotations
Mutable
[M,F]
123
org.eclipse.persistence.annotations
NamedStoredFunctionQueries
[T]
124
org.eclipse.persistence.annotations
NamedStoredFunctionQuery
[T]
125
org.eclipse.persistence.annotations
NamedStoredProcedureQueries
[T]
126
org.eclipse.persistence.annotations
NamedStoredProcedureQuery
[T]
127
org.eclipse.persistence.annotations
Noncacheable
[M,F]
128
org.eclipse.persistence.annotations
ObjectTypeConverter
[T,M,F]
129
org.eclipse.persistence.annotations
ObjectTypeConverters
[T,M,F]
130
org.eclipse.persistence.annotations
OptimisticLocking
[T]
131
org.eclipse.persistence.annotations
OrderCorrection
[M,F]
132
org.eclipse.persistence.annotations
Partitioned
[T,M,F]
133
org.eclipse.persistence.annotations
Partitioning
[T,M,F]
134
org.eclipse.persistence.annotations
PinnedPartitioning
[T,M,F]
135
org.eclipse.persistence.annotations
PrimaryKey
[T]
136
org.eclipse.persistence.annotations
PrivateOwned
[M,F]
137
org.eclipse.persistence.annotations
Properties
[M,F,T]
138
org.eclipse.persistence.annotations
Property
[M,F,T]
139
org.eclipse.persistence.annotations
QueryRedirectors
[T]
140
org.eclipse.persistence.annotations
RangePartition
[T,M,F]
141
org.eclipse.persistence.annotations
RangePartitioning
[T,M,F]
142
org.eclipse.persistence.annotations
ReadOnly
[T]
143
org.eclipse.persistence.annotations
ReadTransformer
[M,F]
144
org.eclipse.persistence.annotations
ReplicationPartitioning
[T,M,F]
145
org.eclipse.persistence.annotations
ReturnInsert
[M,F]
146
org.eclipse.persistence.annotations
ReturnUpdate
[M,F]
147
org.eclipse.persistence.annotations
RoundRobinPartitioning
[T,M,F]
148
org.eclipse.persistence.annotations
SerializedObject
[T]
149
org.eclipse.persistence.annotations
StoredProcedureParameter
[]
150
org.eclipse.persistence.annotations
Struct
[T]
151
org.eclipse.persistence.annotations
StructConverter
[T,M,F]
152
org.eclipse.persistence.annotations
StructConverters
[T,M,F]
153
org.eclipse.persistence.annotations
Structure
[M,F]
154
org.eclipse.persistence.annotations
TenantDiscriminatorColumn
[T]
155
org.eclipse.persistence.annotations
TenantDiscriminatorColumns
[T]
156
org.eclipse.persistence.annotations
TenantTableDiscriminator
[T]
157
org.eclipse.persistence.annotations
TimeOfDay
[]
158
org.eclipse.persistence.annotations
Transformation
[M,F]
159
org.eclipse.persistence.annotations
TypeConverter
[T,M,F]
160
org.eclipse.persistence.annotations
TypeConverters
[T,M,F]
161
org.eclipse.persistence.annotations
UnionPartitioning
[T,M,F]
162
org.eclipse.persistence.annotations
UuidGenerator
[T,M,F]
163
org.eclipse.persistence.annotations
ValuePartition
[T,M,F]
164
org.eclipse.persistence.annotations
ValuePartitioning
[T,M,F]
165
org.eclipse.persistence.annotations
VariableOneToOne
[M,F]
166
org.eclipse.persistence.annotations
VirtualAccessMethods
[T]
167
org.eclipse.persistence.annotations
WriteTransformer
[M,F]
168
org.eclipse.persistence.annotations
WriteTransformers
[M,F]
169
org.eclipse.persistence.oxm.annotations
XmlAccessMethods
[F,M]
170
org.eclipse.persistence.oxm.annotations
XmlCDATA
[F,M]
171
org.eclipse.persistence.oxm.annotations
XmlClassExtractor
[T]
172
org.eclipse.persistence.oxm.annotations
XmlContainerProperty
[F, M]
173
org.eclipse.persistence.oxm.annotations
XmlCustomizer
[T]
174
org.eclipse.persistence.oxm.annotations
XmlDiscriminatorNode
[T]
175
org.eclipse.persistence.oxm.annotations
XmlDiscriminatorValue
[T]
176
org.eclipse.persistence.oxm.annotations
XmlElementsJoinNodes
[M,F]
177
org.eclipse.persistence.oxm.annotations
XmlInverseReference
[F,M]
178
org.eclipse.persistence.oxm.annotations
XmlIsSetNullPolicy
[F,M]
179
org.eclipse.persistence.oxm.annotations
XmlJoinNode
[M,F]
180
org.eclipse.persistence.oxm.annotations
XmlJoinNodes
[M,F]
181
org.eclipse.persistence.oxm.annotations
XmlKey
[M,F]
182
org.eclipse.persistence.oxm.annotations
XmlLocation
[M,F]
183
org.eclipse.persistence.oxm.annotations
XmlNamedAttributeNode
[T]
184
org.eclipse.persistence.oxm.annotations
XmlNamedObjectGraph
[T]
185
org.eclipse.persistence.oxm.annotations
XmlNamedObjectGraphs
[T]
186
org.eclipse.persistence.oxm.annotations
XmlNamedSubgraph
[T]
187
org.eclipse.persistence.oxm.annotations
XmlNameTransformer
[Pkg,T]
188
org.eclipse.persistence.oxm.annotations
XmlNullPolicy
[F,M]
189
org.eclipse.persistence.oxm.annotations
XmlParameter
[]
190
org.eclipse.persistence.oxm.annotations
XmlPath
[F,M]
191
org.eclipse.persistence.oxm.annotations
XmlPaths
[F,M]
192
org.eclipse.persistence.oxm.annotations
XmlProperties
[M,F,T]
193
org.eclipse.persistence.oxm.annotations
XmlProperty
[M,F,T]
194
org.eclipse.persistence.oxm.annotations
XmlReadOnly
[F,M]
195
org.eclipse.persistence.oxm.annotations
XmlReadTransformer
[M,F]
196
org.eclipse.persistence.oxm.annotations
XmlTransformation
[M,F]
197
org.eclipse.persistence.oxm.annotations
XmlVariableNode
[M,F]
198
org.eclipse.persistence.oxm.annotations
XmlVirtualAccessMethods
[T]
199
org.eclipse.persistence.oxm.annotations
XmlWriteOnly
[F,M]
200
org.eclipse.persistence.oxm.annotations
XmlWriteTransformer
[M,F]
201
org.eclipse.persistence.oxm.annotations
XmlWriteTransformers
[M,F]
202
org.eclipse.persistence.platform.database.oracle.annotations
NamedPLSQLStoredFunctionQueries
[T]
203
org.eclipse.persistence.platform.database.oracle.annotations
NamedPLSQLStoredFunctionQuery
[T]
204
org.eclipse.persistence.platform.database.oracle.annotations
NamedPLSQLStoredProcedureQueries
[T]
205
org.eclipse.persistence.platform.database.oracle.annotations
NamedPLSQLStoredProcedureQuery
[T]
206
org.eclipse.persistence.platform.database.oracle.annotations
OracleArray
[T]
207
org.eclipse.persistence.platform.database.oracle.annotations
OracleArrays
[T]
208
org.eclipse.persistence.platform.database.oracle.annotations
OracleObject
[T]
209
org.eclipse.persistence.platform.database.oracle.annotations
OracleObjects
[T]
210
org.eclipse.persistence.platform.database.oracle.annotations
PLSQLParameter
[]
211
org.eclipse.persistence.platform.database.oracle.annotations
PLSQLRecord
[T]
212
org.eclipse.persistence.platform.database.oracle.annotations
PLSQLRecords
[T]
213
org.eclipse.persistence.platform.database.oracle.annotations
PLSQLTable
[T]
214
org.eclipse.persistence.platform.database.oracle.annotations
PLSQLTables
[T]

Memo
javax.persistenceパッケージで定義されているPersistenceContext(s)とPersistenceUnit(s)アノテーションはJava EE共通カテゴリに移動します。

7.4.4. JAXBアノテーション

JAXB カテゴリに所属するアノテーションは以下の通りです。
表8.4.4-1
項番 パッケージ名 アノテーション名 Target
1
javax.xml.bind.annotation
XmlAccessorOrder
[Pkg, T]
2
javax.xml.bind.annotation
XmlAccessorType
[Pkg, T]
3
javax.xml.bind.annotation
XmlAnyAttribute
[F, M]
4
javax.xml.bind.annotation
XmlAnyElement
[F, M]
5
javax.xml.bind.annotation
XmlAttachmentRef
[F, M, Par]
6
javax.xml.bind.annotation
XmlAttribute
[F, M]
7
javax.xml.bind.annotation
XmlElement
[F, M]
8
javax.xml.bind.annotation
XmlElementDecl
[M]
9
javax.xml.bind.annotation
XmlElementRef
[F, M]
10
javax.xml.bind.annotation
XmlElementRefs
[F, M]
11
javax.xml.bind.annotation
XmlElements
[F, M]
12
javax.xml.bind.annotation
XmlElementWrapper
[F, M]
13
javax.xml.bind.annotation
XmlEnum
[T]
14
javax.xml.bind.annotation
XmlEnumValue
[F]
15
javax.xml.bind.annotation
XmlID
[F, M]
16
javax.xml.bind.annotation
XmlIDREF
[F, M]
17
javax.xml.bind.annotation
XmlInlineBinaryData
[F, M, T]
18
javax.xml.bind.annotation
XmlList
[F, M, Par]
19
javax.xml.bind.annotation
XmlMimeType
[F, M, Par]
20
javax.xml.bind.annotation
XmlMixed
[F, M]
21
javax.xml.bind.annotation
XmlNs
[]
22
javax.xml.bind.annotation
XmlRegistry
[T]
23
javax.xml.bind.annotation
XmlRootElement
[T]
24
javax.xml.bind.annotation
XmlSchema
[Pkg]
25
javax.xml.bind.annotation
XmlSchemaType
[F, M, Pkg]
26
javax.xml.bind.annotation
XmlSchemaTypes
[Pkg]
27
javax.xml.bind.annotation
XmlSeeAlso
[T]
28
javax.xml.bind.annotation
XmlTransient
[F, M]
29
javax.xml.bind.annotation
XmlType
[T]
30
javax.xml.bind.annotation
XmlValue
[F, M]
31
javax.xml.bind.annotation.adapters
XmlJavaTypeAdapter
[F, M, Pkg, Par, T]
32
javax.xml.bind.annotation.adapters
XmlJavaTypeAdapters
[Pkg]

7.4.5. JAX-WSアノテーション

JAX-WS カテゴリに所属するアノテーションは以下の通りです。
表8.4.5-1
項番 パッケージ名 アノテーション名 Target
1
javax.jws
WebService
[T]
2
javax.jws
WebMethod
[M]
3
javax.jws
WebParam
[Par]
4
javax.jws
WebResult
[M]
5
javax.jws
HandlerChain
[T,M,F]
6
javax.jws
Oneway
[M]
7
javax.jws.soap
SOAPBinding
[T,M]
8
javax.xml.ws
WebServiceProvider
[T]
9
javax.xml.ws
WebServiceClient
[T]
10
javax.xml.ws
WebServiceRef
[T,M,F]
11
javax.xml.ws
WebServiceRefs
[T]
12
javax.xml.ws
ServiceMode
[T]
13
javax.xml.ws
WebFault
[T]
14
javax.xml.ws
BindingType
[T]
15
javax.xml.ws
RequestWrapper
[M]
16
javax.xml.ws
ResponseWrapper
[M]
17
javax.xml.ws
WebEndpoint
[M]
18
javax.xml.ws
RespectBinding
[T,M,F]
19
javax.xml.ws.soap
Addressing
[T,M,F]
20
javax.xml.ws.soap
MTOM
[T,M,F]
21
javax.xml.ws
FaultAction
[M]
22
javax.xml.ws
Action
[M]
23
javax.xml.ws.spi
WebServiceFeatureAnnotation
[A]
24
com.nec.webotx.webservice.xml.ws.api
FeatureConstructor
[C]
25
com.nec.webotx.webservice.xml.ws.api.server
InstanceResolverAnnotation
[A]
26
com.nec.webotx.webservice.xml.ws.developer
MemberSubmissionAddressing
[T,M,F]
27
com.nec.webotx.webservice.xml.ws.developer.servlet
HttpSessionScope
[T]

Caution
1. javax.jws.soapパッケージで定義されているInitParam、SOAPMessageHandlerとSOAPMessageHandlersの3つのアノテーションはJAX-WSでは未サポートのアノテーションのため、サポートしません。
2. com.nec.webotx.webservice.xml.ws.developer.Statefulは、javax.ejb.Statefulとクラス名の衝突が発生するため、現時点でサポートしません。

7.4.6. JAX-RSアノテーション

JAX-RS カテゴリに所属するアノテーションは以下の通りです。
表8.4.6-1
項番 パッケージ名 アノテーション名 Target
1
javax.ws.rs
Consumes
[T,M]
2
javax.ws.rs
Produces
[T,M]
3
javax.ws.rs
GET
[M]
4
javax.ws.rs
POST
[M]
5
javax.ws.rs
PUT
[M]
6
javax.ws.rs
DELETE
[M]
7
javax.ws.rs
HEAD
[M]
8
javax.ws.rs
ApplicationPath
[T]
9
javax.ws.rs
Path
[T,M]
10
javax.ws.rs
PathParam
[Par,M,F]
11
javax.ws.rs
QueryParam
[Par,M,F]
12
javax.ws.rs
FormParam
[Par,M,F]
13
javax.ws.rs
MatrixParam
[Par,M,F]
14
javax.ws.rs
CookieParam
[Par,M,F]
15
javax.ws.rs
HeaderParam
[Par,M,F]
16
javax.ws.rs
Encoded
[Par,M,F,C,T]
17
javax.ws.rs
DefaultValue
[Par,M,F]
18
javax.ws.rs
HttpMethod
[A]
19
javax.ws.rs.core
Context
[Par,M,F]
20
javax.ws.rs.ext
Provider
[T]
21
javax.ws.rs
OPTIONS
[M]
22
javax.ws.rs
NameBinding
[A]
23
javax.ws.rs
BeanParam
[Par, F, M]
24
javax.ws.rs
ConstrainedTo
[T]
25
javax.ws.rs.container
PreMatching
[T]
26
javax.ws.rs.container
Suspended
[Par]

Caution
javax.ws.rs.extパッケージで定義されているParamConverter.Lazyは注釈プロパティー・ビューで編集できませんが、エディタからの入力は可能です。

7.4.7. Servletアノテーション

Servlet カテゴリに所属するアノテーションは以下の通りです。
表8.4.7-1
項番 パッケージ名 アノテーション名 Target
1
javax.servlet.annotation
ServletSecurity
[T]
2
javax.servlet.annotation
WebFilter
[T]
3
javax.servlet.annotation
WebInitParam
[T]
4
javax.servlet.annotation
MultipartConfig
[T]
5
javax.servlet.annotation
WebServlet
[T]
6
javax.servlet.annotation
HttpConstraint
[]
7
javax.servlet.annotation
HandlesTypes
[T]
8
javax.servlet.annotation
WebListener
[T]
9
javax.servlet.annotation
HttpMethodConstraint
[]

7.4.8. JSFアノテーション

JSF カテゴリに所属するアノテーションは以下の通りです。
表8.4.8-1
項番 パッケージ名 アノテーション名 Target
1
javax.faces.component
FacesComponent
[T]
2
javax.faces.component.behavior
FacesBehavior
[T]
3
javax.faces.validator
FacesValidator
[T]
4
javax.faces.event
ListenerFor
[T]
5
javax.faces.event
ListenersFor
[T]
6
javax.faces.application
ResourceDependency
[T]
7
javax.faces.application
ResourceDependencies
[T]
8
javax.faces.render
FacesBehaviorRenderer
[T]
9
javax.faces.render
FacesRenderer
[T]
10
javax.faces.convert
FacesConverter
[T]
11
javax.faces.event
NamedEvent
[T]
12
javax.faces.bean
RequestScoped
[T]
13
javax.faces.bean
ApplicationScoped
[T]
14
javax.faces.bean
NoneScoped
[T]
15
javax.faces.bean
SessionScoped
[T]
16
javax.faces.bean
ReferencedBean
[T]
17
javax.faces.bean
ManagedProperty
[F]
18
javax.faces.bean
ViewScoped
[T]
19
javax.faces.bean
ManagedBean
[T]
20
javax.faces.bean
CustomScoped
[T]
21
javax.faces.flow
FlowScoped
[T]
22
javax.faces.flow.builder
FlowBuilderParameter
[T,M,Par,F]
23
javax.faces.flow.builder
FlowDefinition
[M]
24
javax.faces.view
ViewScoped
[T, F, M]
25
javax.faces.view.facelets
FaceletsResourceResolver
[T]

7.4.9. CDIアノテーション

CDI カテゴリに所属するアノテーションは以下の通りです。
表8.4.9-1
項番 パッケージ名 アノテーション名 Target
1
javax.decorator
Decorator
[T]
2
javax.decorator
Delegate
[F,Par]
3
javax.enterprise.context
ApplicationScoped
[T,M,F]
4
javax.enterprise.context
ConversationScoped
[T,M,F]
5
javax.enterprise.context
Destroyed
[M,T,Par,F]
6
javax.enterprise.context
Dependent
[M,T,F]
7
javax.enterprise.context
Initialized
[T,M,Par,F]
8
javax.enterprise.context
NormalScope
[A]
9
javax.enterprise.context
RequestScoped
[T,M,F]
10
javax.enterprise.context
SessionScoped
[T,M,F]
11
javax.enterprise.event
Observes
[Par]
12
javax.enterprise.inject
Alternative
[T,M,F]
13
javax.enterprise.inject
Any
[T,M,F,Par]
14
javax.enterprise.inject
Decorated
[Par,F]
15
javax.enterprise.inject
Default
[T,M,Par,F]
16
javax.enterprise.inject
Disposes
[Par]
17
javax.enterprise.inject
Intercepted
[Par,F]
18
javax.enterprise.inject
Model
[T,M,F]
19
javax.enterprise.inject
New
[F,Par,M,T]
20
javax.enterprise.inject
Produces
[M,F]
21
javax.enterprise.inject
Specializes
[T,M]
22
javax.enterprise.inject
Stereotype
[A]
23
javax.enterprise.inject
TransientReference
[Par]
24
javax.enterprise.inject
Typed
[F,M,T]
25
javax.enterprise.inject
Vetoed
[T,Pkg]
26
javax.enterprise.inject.spi
WithAnnotations
[Par]
27
javax.enterprise.util
Nonbinding
[M]
28
javax.inject
Inject
[M,C,F]
29
javax.inject
Named
[]
30
javax.inject
Qualifier
[A]
31
javax.inject
Scope
[A]
32
javax.inject
Singleton
[]

7.4.10. Bean Validationアノテーション

Bean Validation カテゴリに所属するアノテーションは以下の通りです。
表8.4.10-1
項番 パッケージ名 アノテーション名 Target
1
javax.validation
Constraint
[A]
2
javax.validation
GroupSequence
[T]
3
javax.validation
OverridesAttribute
[M]
4
javax.validation
ReportAsSingleViolation
[A]
5
javax.validation
Valid
[M,F,C,Par]
6
javax.validation.constraints
AssertFalse
[M,F,A,C,Par]
7
javax.validation.constraints
AssertTrue
[M,F,A,C,Par]
8
javax.validation.constraints
DecimalMax
[M,F,A,C,Par]
9
javax.validation.constraints
DecimalMin
[M,F,A,C,Par]
10
javax.validation.constraints
Digits
[M,F,A,C,Par]
11
javax.validation.constraints
Future
[M,F,A,C,Par]
12
javax.validation.constraints
Max
[M,F,A,C,Par]
13
javax.validation.constraints
Min
[M,F,A,C,Par]
14
javax.validation.constraints
NotNull
[M,F,A,C,Par]
15
javax.validation.constraints
Null
[M,F,A,C,Par]
16
javax.validation.constraints
Past
[M,F,A,C,Par]
17
javax.validation.constraints
Pattern
[M,F,A,C,Par]
18
javax.validation.constraints
Size
[M,F,A,C,Par]
19
javax.validation.constraintvalidation
SupportedValidationTarget
[T]
20
javax.validation.executable
ValidateOnExecution
[C,M,T,Pkg]
21
javax.validation.groups
ConvertGroup
[T,M,F,C,Par]

7.4.11. WebSocket アノテーション

WebSocket カテゴリに所属するアノテーションは以下の通りです。
表8.4.11-1
項番 パッケージ名 アノテーション名 Target
1
javax.websocket
ClientEndpoint
[T]
2
javax.websocket
OnClose
[M]
3
javax.websocket
OnError
[M]
4
javax.websocket
OnMessage
[M]
5
javax.websocket
OnOpen
[M]
6
javax.websocket.server
PathParam
[Par]
7
javax.websocket.server
ServerEndpoint
[T]

7.4.12. Portletアノテーション

Portlet カテゴリに所属するアノテーションは以下の通りです。
表8.4.12-1
項番 パッケージ名 アノテーション名 Target
1
javax.portlet
ProcessAction
[M]
2
javax.portlet
ProcessEvent
[M]
3
javax.portlet
RenderMode
[M]

7.4.13. Batchアノテーション

Batch カテゴリに所属するアノテーションは以下の通りです。
表8.4.13-1
項番 パッケージ名 アノテーション名 Target
1
javax.batch.api
BatchProperty
[F,M,Par]

7.4.14. JavaMailアノテーション

JavaMail カテゴリに所属するアノテーションは以下の通りです。
表8.4.14-1
項番 パッケージ名 アノテーション名 Target
1
javax.mail
MailSessionDefinition
[T]
2
javax.mail
MailSessionDefinitions
[T]

7.4.15. JCAアノテーション

JCA カテゴリに所属するアノテーションは以下の通りです。
表8.4.15-1
項番 パッケージ名 アノテーション名 Target
1
javax.resource
AdministeredObjectDefinition
[T]
2
javax.resource
AdministeredObjectDefinitions
[T]
3
javax.resource
ConnectionFactoryDefinition
[T]
4
javax.resource
ConnectionFactoryDefinitions
[T]
5
javax.resource.spi
Activation
[T]
6
javax.resource.spi
AdministeredObject
[T]
7
javax.resource.spi
AuthenticationMechanism
[]
8
javax.resource.spi
ConfigProperty
[F,M]
9
javax.resource.spi
ConnectionDefinition
[T]
10
javax.resource.spi
ConnectionDefinitions
[T]
11
javax.resource.spi
Connector
[T]
12
javax.resource.spi
SecurityPermission
[]

7.4.16. JMSアノテーション

JMS カテゴリに所属するアノテーションは以下の通りです。
表8.4.16-1
項番 パッケージ名 アノテーション名 Target
1
javax.jms
JMSConnectionFactory
[M,F,Par,T]
2
javax.jms
JMSConnectionFactoryDefinition
[T]
3
javax.jms
JMSConnectionFactoryDefinitions
[T]
4
javax.jms
JMSDestinationDefinition
[T]
5
javax.jms
JMSDestinationDefinitions
[T]
6
javax.jms
JMSPasswordCredential
[M,F,Par,T]
7
javax.jms
JMSSessionMode
[M,F,Par,T]

7.4.17. JTAアノテーション

JTA カテゴリに所属するアノテーションは以下の通りです。
表8.4.17-1
項番 パッケージ名 アノテーション名 Target
1
javax.transaction
Transactional
[T,M]
2
javax.transaction
TransactionScoped
[T,M,F]

7.4.18. Targetが限定されたアノテーション

次のアノテーションは、付与できるTargetが、以下のように限定されています。
表8.4.18-1
アノテーション名 カテゴリ Target
javax.ejb.ActivationConfigProperty
EJB
MessageDrivenアノテーションのactivationConfig属性の値。
javax.persistence.ColumnResult
JPA
SqlResultSetMappingアノテーションのcolumns属性の値、およびConstructorResultアノテーションのcolumns属性の値。
javax.persistence.EntityResult
JPA
SqlResultSetMappingアノテーションのentities属性の値。
javax.persistence.FieldResult
JPA
EntityResultアノテーションのfields属性の値。
javax.persistence.PersistenceProperty
JPA
PersistenceContextアノテーションのproperties属性の値。
javax.persistence.QueryHint
JPA
NamedQueryとNamedNativeQueryアノテーションのhints属性の値。
javax.persistence.UniqueConstraint
JPA
Table、SecondaryTable、JoinTable、TableGeneratorアノテーションのuniqueConstraints属性の値。
org.eclipse.persistence.annotations.ConversionValue
JPA
ObjectTypeConverterアノテーションのconversionValues属性の値。
org.eclipse.persistence.annotations.DiscriminatorClass
JPA
VariableOneToOneアノテーションのdiscriminatorClasses属性の値。
org.eclipse.persistence.annotations.FetchAttribute
JPA
FetchGroupアノテーションのattributes属性の値。
org.eclipse.persistence.annotations.StoredProcedureParameter
JPA
NamedStoredProcedureQueryアノテーションのparameters属性の値。
org.eclipse.persistence.annotations.TimeOfDay
JPA
CacheアノテーションのexpiryTimeOfDay属性の値。
org.eclipse.persistence.oxm.annotations.XmlParameter
JPA
XmlIsSetNullPolicyアノテーションのisSetParameters属性の値。
org.eclipse.persistence.platform.database.oracle.annotations.PLSQLParameter
JPA
NamedPLSQLStoredProcedureQueryアノテーションのparameters属性、或いはNamedPLSQLStoredFunctionQueryアノテーションのreturnParameter属性、或いはPLSQLRecordアノテーションのfields属性の値。
javax.persistence.ConstructorResult
JPA
SqlResultSetMappingアノテーションのclasses属性の値。
javax.persistence.ForeignKey
JPA
JoinColumn, JoinColumns, MapKeyJoinColumn, MapKeyJoinColumns, PrimaryKeyJoinColumn, JoinTable, CollectionTable, SecondaryTable, AssociationOverrideアノテーションのforeignKey属性の値。
javax.persistence.Index
JPA
Table、SecondaryTable、CollectionTable、JoinTable、TableGeneratorアノテーションのindexes属性の値。
javax.persistence.NamedAttributeNode
JPA
NamedEntityGraph、NamedSubgraphアノテーションのattributeNodes属性の値。
javax.persistence.NamedSubgraph
JPA
NamedEntityGraphアノテーションのsubclassSubgraphs,subgraphs属性の値。
javax.persistence.StoredProcedureParameter
JPA
NamedStoredProcedureQueryアノテーションのparameters属性の値。
javax.servlet.annotation.HttpMethodConstraint
Servlet
ServletSecurityアノテーションのhttpMethodConstraints属性の値。
javax.servlet.annotation.HttpConstraint
Servlet
ServletSecurityアノテーションのvalue属性の値。
javax.xml.bind.annotation.XmlNs
JAXB
XmlSchemaのxmlns属性の値。
javax.resource.spi.AuthenticationMechanism
JCA
ConnectorアノテーションのauthMechanisms属性の値。
javax.resource.spi.SecurityPermission
JCA
ConnectorアノテーションのsecurityPermissions属性の値。

Caution
org.eclipse.persistence.annotations.TimeOfDayとjavax.servlet.annotation.HttpConstraintは注釈プロパティー・ビューで編集できませんが、エディタからの入力は可能です。

7.5. 注意制限事項

7.5.1. 注意事項

7.5.1.1. 注釈プロパティー・ビューで属性を追加できない
後ろに括弧が無いアノテーションの場合、注釈プロパティー・ビューで正しく属性を追加できない場合があります。
この問題は、エディタを用いて該当のアノテーションに括弧を補うことで回避が可能です。

例えば、下図の @Statelessアノテーションの後ろには括弧がありません。
この状態で、注釈プロパティー・ビューで、javax.ejb.Statelessアノテーションの description属性の欄に "test description without kakko" を入力して、ENTER キーを押します。


図8.5.1.1-1

入力された値は正しくJavaソースの@Statelessアノテーションに反映されません。


図8.5.1.1-2

なお、注釈プロパティー・ビューでアノテーションを付与する場合、アノテーションには自動的に括弧が追加されます。
括弧が生成されない例
WebOTX DeveloperのEJB 生成ウィザードで自動的に付与されるアノテーションで、以下の5つには括弧が生成されません。 エディタで独自にアノテーションを記述する場合には、括弧まで記述するようご注意ください。

7.5.2. 制限事項

特にありません。