/*
 * Copyright (c) 2007 NTT DATA Corporation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package jp.terasoluna.batch.functionsample.sample002;

import java.util.Date;

import jp.terasoluna.fw.file.annotation.FileFormat;
import jp.terasoluna.fw.file.annotation.InputFileColumn;
import jp.terasoluna.fw.file.annotation.OutputFileColumn;

/**
 * “入金データファイル”用ファイル行オブジェクト。（固定長ファイル）
 */
@FileFormat(overWriteFlg=true)
public class Sample002NyukinData01 {

    /**
     * 取引ID
     */
    @InputFileColumn(columnIndex = 0, bytes = 2)
    private int id;
    
    /**
     * 支店
     */
    @InputFileColumn(columnIndex = 1, bytes = 4)
    private String siten;
    
    /**
     * 顧客コード
     */
    @InputFileColumn(columnIndex = 2, bytes = 3)
    @OutputFileColumn(columnIndex = 0, bytes = 3)
    private String kokyakucd;
    
    /**
     * 入金金額
     */
    @InputFileColumn(columnIndex = 3, bytes = 5)
    @OutputFileColumn(columnIndex = 1, bytes = 5)
    private int nyukin;
    
    /**
     * 取引日
     */
    @InputFileColumn(columnIndex = 4, bytes = 10, columnFormat = "yyyy-MM-dd")
    @OutputFileColumn(columnIndex = 2, bytes = 10, columnFormat = "yyyy/MM/dd")
    private Date torihikibi;

    /**
     * 取引IDを返却する。
     * @return 取引ID
     */
    public int getId() {
        return id;
    }

    /**
     * 取引IDを設定する。
     * @param id 取引ID
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 支店を返却する。
     * @return 支店
     */
    public String getSiten() {
        return siten;
    }

    /**
     * 支店を設定する。
     * @param siten 支店
     */
    public void setSiten(String siten) {
        this.siten = siten;
    }
    
    /**
     * 顧客IDを返却する。
     * @return 顧客ID
     */
    public String getKokyakucd() {
        return kokyakucd;
    }

    /**
     * 顧客IDを設定する。
     * @param kokyakucd 顧客ID
     */
    public void setKokyakucd(String kokyakucd) {
        this.kokyakucd = kokyakucd;
    }

    /**
     * 入金金額を返却する。
     * @return 入金金額
     */
    public int getNyukin() {
        return nyukin;
    }

    /**
     * 入金金額を設定する。
     * @param nyukin 入金金額
     */
    public void setNyukin(int nyukin) {
        this.nyukin = nyukin;
    }

    /**
     * 取引日を返却する。
     * @return 取引日
     */
    public Date getTorihikibi() {
        return torihikibi;
    }

    /**
     * 取引日を設定する。
     * @param torihikibi 取引日
     */
    public void setTorihikibi(Date torihikibi) {
        this.torihikibi = torihikibi;
    }
}
