Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
RenderingPolicy |
|
| 0.0;0 | ||||
RenderingPolicy$ConversionType |
|
| 0.0;0 | ||||
RenderingPolicy$SetTiming |
|
| 0.0;0 | ||||
RenderingPolicy$TargetType |
|
| 0.0;0 |
1 | /* | |
2 | * Copyright 2004-2008 the Seasar Foundation and the Others. | |
3 | * | |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | * you may not use this file except in compliance with the License. | |
6 | * You may obtain a copy of the License at | |
7 | * | |
8 | * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, software | |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, | |
13 | * either express or implied. See the License for the specific language | |
14 | * governing permissions and limitations under the License. | |
15 | */ | |
16 | package org.seasar.uruma.annotation; | |
17 | ||
18 | import java.lang.annotation.ElementType; | |
19 | import java.lang.annotation.Retention; | |
20 | import java.lang.annotation.RetentionPolicy; | |
21 | import java.lang.annotation.Target; | |
22 | ||
23 | /** | |
24 | * コンポーネントから SWT のウィジットに対するレンダリング方法を指定するアノテーションです。<br /> | |
25 | * | |
26 | * @author y-komori | |
27 | */ | |
28 | @Retention(RetentionPolicy.RUNTIME) | |
29 | @Target(ElementType.FIELD) | |
30 | public @interface RenderingPolicy { | |
31 | /** | |
32 | * レンダリング対象を指定するための列挙型です。<br /> | |
33 | * | |
34 | * @author y-komori | |
35 | */ | |
36 | 20 | public enum TargetType { |
37 | /** | |
38 | * 対象がプロパティであることを示します。<br /> | |
39 | * セッターを使用して値を設定します。 | |
40 | */ | |
41 | 4 | PROPERTY, |
42 | /** | |
43 | * 対象がフィールドであることを示します。<br /> | |
44 | */ | |
45 | 4 | FIELD, |
46 | /** | |
47 | * 自動設定を行わないことを示します。<br /> | |
48 | */ | |
49 | 4 | NONE |
50 | } | |
51 | ||
52 | /** | |
53 | * レンダリング対象属性の型を表す列挙型です。<br /> | |
54 | * | |
55 | * @author y-komori | |
56 | */ | |
57 | 48 | public enum ConversionType { |
58 | /** 対象が {@link String} 型であることを示します。<br /> */ | |
59 | 4 | STRING, |
60 | /** 対象が改行やタブを含む {@link String} 型であることを示します。<br /> */ | |
61 | 4 | TEXT, |
62 | /** 対象が int 型であることを示します。<br /> */ | |
63 | 4 | INT, |
64 | /** 対象が boolean 型であることを示します。<br /> */ | |
65 | 4 | BOOLEAN, |
66 | /** 対象が char 型であることを示します。<br /> */ | |
67 | 4 | CHAR, |
68 | /** 対象が int の配列型であることを示します。転送元は数値のカンマ区切り文字列で表します。<br /> */ | |
69 | 4 | INT_ARRAY, |
70 | /** | |
71 | * 対象が {@link org.eclipse.swt.graphics.Color} 型であることを示します。転送元は #RRGGBB | |
72 | * 形式の文字列で表します。<br /> | |
73 | */ | |
74 | 4 | COLOR, |
75 | /** 対象が int 型の {@link org.eclipse.swt.SWT} 定数であることを示します。転送元は定数名の文字列で表します。<br /> */ | |
76 | 4 | SWT_CONST, |
77 | /** | |
78 | * 対象が {@link org.eclipse.swt.graphics.Image} | |
79 | * 型であることを示します。転送元は画像ファイルへのパス文字列で表します。<br /> | |
80 | */ | |
81 | 4 | IMAGE, |
82 | /** | |
83 | * 対象がアクセラレータであることを示します。 転送元は {@link org.eclipse.jface.action.Action} | |
84 | * で使用するアクセラレータ表記文字列で表します。 | |
85 | */ | |
86 | 4 | ACCELERATOR |
87 | } | |
88 | ||
89 | /** | |
90 | * 属性を設定するタイミングを表す列挙型です。<br /> | |
91 | * | |
92 | * @author y-komori | |
93 | */ | |
94 | 16 | public enum SetTiming { |
95 | /** コンポーネントのレンダリング時に設定することを示します。<br/> */ | |
96 | 4 | RENDER, |
97 | /** 子コンポーネントのレンダリング後に設定することを示します。<br/> */ | |
98 | 4 | RENDER_AFTER |
99 | } | |
100 | ||
101 | /** | |
102 | * 対象プロパティ名を表します。<br /> | |
103 | * 省略時はコンポーネント側プロパティと同じ名前のプロパティへ設定します。<br /> | |
104 | * | |
105 | * @return プロパティ名 | |
106 | */ | |
107 | public String name() default ""; | |
108 | ||
109 | /** | |
110 | * 対象への設定方式を表します。<br /> | |
111 | * | |
112 | * @return 対象への設定方式 | |
113 | */ | |
114 | public TargetType targetType() default TargetType.PROPERTY; | |
115 | ||
116 | /** | |
117 | * 対象への変換方式を表します。<br /> | |
118 | * | |
119 | * @return 対象への変換方式 | |
120 | */ | |
121 | public ConversionType conversionType() default ConversionType.STRING; | |
122 | ||
123 | /** | |
124 | * 対象への設定タイミングを表します。<br /> | |
125 | * | |
126 | * @return 対象への設定タイミング | |
127 | */ | |
128 | public SetTiming setTiming() default SetTiming.RENDER; | |
129 | } |