Coverage Report - org.seasar.uruma.annotation.RenderingPolicy
 
Classes in this File Line Coverage Branch Coverage Complexity
RenderingPolicy
N/A
N/A
0
RenderingPolicy$ConversionType
100%
11/11
N/A
0
RenderingPolicy$SetTiming
100%
3/3
N/A
0
RenderingPolicy$TargetType
100%
4/4
N/A
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  
 }