1 package jp.ac.aiit.xdf.component.swing.attribute;
3 import jp.ac.aiit.xdf.core.typeconvert.TypeConverter;
6 * 実コンポーネントに対する属性の処理方法(型変換、設定、取得)の組み合わせを保持するクラス
8 * @author Shunichi Takagi
10 public class AttributeProcessingUnit {
11 private AttributeGetProcessor attributeGetProcessor;
12 private AttributeSetProcessor attributeSetProcessor;
13 private TypeConverter<?> typeConverter;
17 * @param attributeProcessor 設定プロセサー
18 * @param typeConverter 型変換
20 public AttributeProcessingUnit(AttributeProcessor attributeProcessor, TypeConverter<?> typeConverter) {
21 this(attributeProcessor, attributeProcessor, typeConverter);
26 * @param attributeSetProcessor 設定プロセサー
27 * @param attributeGetProcessor 取得プロセサー
28 * @param typeConverter 型変換
30 public AttributeProcessingUnit(AttributeSetProcessor attributeSetProcessor, AttributeGetProcessor attributeGetProcessor, TypeConverter<?> typeConverter) {
31 this.attributeSetProcessor = attributeSetProcessor;
32 this.attributeGetProcessor = attributeGetProcessor;
33 this.typeConverter = typeConverter;
42 public void invokeSet(Object target, String name, Object value) {
43 attributeSetProcessor.invokeSet(target, name, value);
52 public Object invokeGet(Object target, String name) {
53 return attributeGetProcessor.invokeGet(target, name);
61 public Object typeConvert(String value) {
62 if( typeConverter.isAppliable(value) ) {
63 return typeConverter.apply(value);