All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mygreen.supercsv.builder.standard.StringProcessorBuilder Maven / Gradle / Ivy

Go to download

CSVのJavaライブラリであるSuperCSVに、アノテーション機能を追加したライブラリです。

There is a newer version: 2.3
Show newest version
package com.github.mygreen.supercsv.builder.standard;

import com.github.mygreen.supercsv.annotation.constraint.CsvLengthExact;
import com.github.mygreen.supercsv.annotation.constraint.CsvWordForbid;
import com.github.mygreen.supercsv.annotation.constraint.CsvLengthBetween;
import com.github.mygreen.supercsv.annotation.constraint.CsvLengthMax;
import com.github.mygreen.supercsv.annotation.constraint.CsvLengthMin;
import com.github.mygreen.supercsv.annotation.constraint.CsvPattern;
import com.github.mygreen.supercsv.annotation.constraint.CsvWordRequire;
import com.github.mygreen.supercsv.builder.AbstractProcessorBuilder;
import com.github.mygreen.supercsv.builder.Configuration;
import com.github.mygreen.supercsv.builder.FieldAccessor;
import com.github.mygreen.supercsv.cellprocessor.constraint.LengthExactFactory;
import com.github.mygreen.supercsv.cellprocessor.constraint.WordForbidFactory;
import com.github.mygreen.supercsv.cellprocessor.constraint.LengthBetweenFactory;
import com.github.mygreen.supercsv.cellprocessor.constraint.LengthMaxFactory;
import com.github.mygreen.supercsv.cellprocessor.constraint.LengthMinFactory;
import com.github.mygreen.supercsv.cellprocessor.constraint.PatternFactory;
import com.github.mygreen.supercsv.cellprocessor.constraint.WordRequireFactory;
import com.github.mygreen.supercsv.cellprocessor.format.TextFormatter;


/**
 * 文字列型に対するCellProcessorを組み立てるクラス。
 * 
 * @version 2.0
 * @author T.TSUCHIE
 *
 */
public class StringProcessorBuilder extends AbstractProcessorBuilder {
    
    public StringProcessorBuilder() {
        super();
        
    }
    
    @Override
    protected void init() {
        super.init();
        
        // 制約のアノテーションの追加
        registerForConstraint(CsvLengthBetween.class, new LengthBetweenFactory());
        registerForConstraint(CsvLengthMin.class, new LengthMinFactory());
        registerForConstraint(CsvLengthMax.class, new LengthMaxFactory());
        registerForConstraint(CsvLengthExact.class, new LengthExactFactory());
        registerForConstraint(CsvPattern.class, new PatternFactory());
        registerForConstraint(CsvWordRequire.class, new WordRequireFactory());
        registerForConstraint(CsvWordForbid.class, new WordForbidFactory());
        
    }
    
    @Override
    protected TextFormatter getDefaultFormatter(final FieldAccessor field, final Configuration config) {
        
        return new TextFormatter() {
            
            @Override
            public String parse(final String text) {
                return text;
            }
            
            @Override
            public String print(final String object) {
                return object;
            }
            
            @Override
            public void setValidationMessage(String validationMessage) {
                // not support
            }
            
        };
    }
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy