package com.eactive.eai.batch.flowController;

import com.eactive.eai.batch.common.StringUtil;

import java.io.Serializable;

/**
* 1. 기능 : 하나의 배치작업 업무를 나타내는 Value Object
*           즉, CMS은행, CMS업체등이 해당된다.
*           관련 테이블 - TSEAIBJ02, TSEAIBJ05
* 2. 처리 개요 :
*
* 3. 주의사항
*
* @author  : YCLee
* @version : v 1.0.0
* @see :
* @since   :JDK v1.4.2
*/
public class BatchTargetVO implements Serializable
{
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
     *  업무코드
     */
    private String processCode;       // 예, CMSBK

    /**
     *  대외기관코드
     */
    private String organCode;       // 예, IL03

    /**
     *  대외기관명
     */
    private String organName;       // 예, 삼성생명


    /**
     *  업무명
     */
    private String processName;       // 예, CMS은행


    /**
     *  요구송수신 연결 정보
     */
    private DemandTargetVO[] demandTagetVOs;


    /**
     * 1. 기능 : Defualt Constructor
     * 2. 처리 개요 :
     *    - Defualt Constructor
     * 3. 주의사항
     *
     **/
    public BatchTargetVO() {
    }

    /**
     * 1. 기능 : 대외기관 정보를 저장하는 생성자 함수
     * 2. 처리 개요 :
     * 3. 주의사항
     *
     * @param
     **/
    public BatchTargetVO(String processCode, String processName, String organCode, String organName) {
        this.processCode = StringUtil.nvlTrim(processCode);
        this.processName = StringUtil.nvlTrim(processName);
        this.organCode   = StringUtil.nvlTrim(organCode);
        this.organName   = StringUtil.nvlTrim(organName);
    }

    /**
     * 1. 기능: processCode를 반환하는 getter 메소드
     */
    public String getProcessCode()
    {
        return this.processCode;
    }

    /**
     * 1. 기능: organCode를 반환하는 getter 메소드
     */
    public String getOrganCode()
    {
        return this.organCode;
    }

    /**
     * 1. 기능: organName를 반환하는 getter 메소드
     */
    public String getOrganName()
    {
        return this.organName;
    }

    /**
     * 1. 기능: processName을 반환하는 getter 메소드
     */
    public String getProcessName()
    {
        return this.processName;
    }


    /**
     * 1. 기능 : 요구송수신 연결정보 리스트를 반환하는 getter 메소드
     * 2. 처리 개요 :
     * 3. 주의사항
     *
     * @param   ruleKey    rule의 PK
     **/
    public DemandTargetVO[] getDemadnTargets() {
        return this.demandTagetVOs;
    }

    /**
     * 1. 기능 : 요구송수신 연결정보 리스트를 저장하는 setter 메소드
     * 2. 처리 개요 :
     *    - Rule Key를 저장한다.
     * 3. 주의사항
     *
     * @param   ruleKey    rule의 PK
     **/
    public int setDemadnTargets(DemandTargetVO[] demandTargetVOs) {
        this.demandTagetVOs = new DemandTargetVO[demandTargetVOs.length];
        this.demandTagetVOs = demandTargetVOs;
        return this.demandTagetVOs.length;
    }




}
