/*
 * RecordFieldReaderFormatable.java
 * Copyright (C) 2008 Cyber Beans Corporation. All rights reserved.
 */
package jp.co.cybec.cb3.accessor.fileaccess;

import jp.co.cybec.cb3.exception.DataFormatException;

/**
 * ファイルのレコード項目をフォーマットするためのインタフェース(Reader用)。
 * @author Jianming Guo
 */
public interface RecordFieldReaderFormatable {

	/**
	 * 引数の文字列をトリムします。
	 * (パディング文字を取り除きます)
	 *
	 * @param algin   アラインメント指定子(右寄せ・左寄せ)
	 * @param padding パディング文字
	 * @param data トリム対象の文字列
	 * @return パディング文字を取り除いた文字列
	 * @throws DataFormatException 引数に指定された値のフォーマットに間違いがある場合に発生します。
	 */
	String trim(String algin, String padding, String data) throws DataFormatException;

	/**
	 * 引数の文字列をフォーマットします。
	 *
	 * @param pattern フォーマット
	 * @param type タイプ
	 * @param data フォーマット対象の文字列
	 * @return フォーマット後の文字列
	 * @throws DataFormatException 引数に指定された値のフォーマットに間違いがある場合に発生します。
	 */
	String format(String pattern, String type, String data) throws DataFormatException;
}
