Sample04 - FieldProcessor

2010/04/12 14:22Update
TAGS: Sample | Field | Processor | FieldProcessor

Sample of FieldProcessor.

Sample Code:
Sample04.java
package com.syboos.beanutils.test;

import java.util.List;

import com.syboos.beanutils.BeanUtils;
import com.syboos.beanutils.annotation.Params;
import com.syboos.beanutils.annotation.Processor;
import com.syboos.exception.ValidationError;
import com.syboos.exception.ValidationException;

public class Sample04 {
    @Processor(processedBy=MyFieldProcessor.class)
    private String name;
    @Processor(processedBy=MyFieldProcessor.class)
    @Params(keys={"id"}, values={"test"})
    private int value;
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getValue() {
        return value;
    }
    public void setValue(int value) {
        this.value = value;
    }
    
    @SuppressWarnings("unchecked")
    public static void main(String []args) {
        try {
            Sample04 sample04 = new Sample04();
            Sample04 sample04c = new Sample04();
            
            sample04.setName("Test Name");
            sample04.setValue(50);
            BeanUtils.copyProperties(sample04c, sample04);
            
            System.out.println(sample04c.getName());
            System.out.println(sample04c.getValue());
        } catch (ValidationException e) {
            List <ValidationError> errorList = e.getValidationErrorList();
            for (ValidationError error : errorList) {
                System.out.print("error:" + error.getKey()); // + error.getDetail()
                String []errArgs = (String [])error.getArgs();
                
                for (String arg: errArgs) {
                    System.out.println("  **{" +arg + "}");
                }
            }
        }
    }
}


MyFieldProcessor.java
package com.syboos.beanutils.test;

import java.util.List;

import com.syboos.beanutils.mapping.ParamTag;
import com.syboos.beanutils.processor.AbstractFieldProcessor;

public class MyFieldProcessor extends AbstractFieldProcessor {

    public void execute(Object obj, String fieldName, Object fieldValue,
            String fieldLabel, List<ParamTag> paramList) {
        System.out.println("[MyFieldProcessor] <field>=" + fieldName + " : " + fieldValue + "");
    }

}


Result...
[MyFieldProcessor] <field>=name : Test Name
[MyFieldProcessor] <field>=value : 50
Test Name
50

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation