package com.kbstar.eai.common.header;

import com.eactive.eai.common.header.HeaderActionSupport;

/** 
* 1. 기능 : ARS공동망 의 Header를 EAI에서 생성하거나 삭제해야하는 경우를 위한 Class
* 2. 처리 개요 : 
*     - 메시지종류에 따라 헤더를 생성하거나 삭제하는 API를 제공
* 3. 주의사항 
*     - AD 의 경우는 S는 ADD, R 는 DELETE
*     - DA 의 경우는 S는 DELETE, R 는 ADD
* @author  : 
* @version : v 1.0.0
* @see :
* @since : 
*/
public class BBGHeaderAction extends HeaderActionSupport 
{ 
	//BBGHeaderAction - 앞에서부터 15바이트 삭제만
    private static final int HEADER_LENGTH = 15;

    public BBGHeaderAction(){
    	super.setHeaderLength(HEADER_LENGTH);
    	
    }

	public byte[] addHeaderDA(byte[] orgData , byte[] message) {
		return addHeader(orgData,message);   	

    }
	
	public byte[] addHeaderAD(byte[] orgData , byte[] message) {
		return addHeader(orgData,message);
    }   	

	// 2009.10.06 정길영과장 요청 : 앞에 space 추가 15자리
	public byte[] addHeader(byte[] orgData , byte[] message ) {
		byte[] full        = null;
    	full = new byte[HEADER_LENGTH+message.length];
    	
    	byte [] header = new byte[HEADER_LENGTH];
    	
    	for(int i=0;i<HEADER_LENGTH; i++) {
    		header[i] = (byte)0x20;
    	}
    	
		System.arraycopy(header, 0, full, 0, HEADER_LENGTH );
		System.arraycopy(message, 0, full, HEADER_LENGTH, message.length);
		return full;
    }   	
	
//	   public static void main(String args[]) throws Exception {
//	   test();
//}

// private static void test() throws Exception {
//		   String actionName = "com.kbstar.eai.common.header.BBGHeaderAction";
//		   BBGHeaderAction action = new BBGHeaderAction();
//		   byte[] res = action.addHeader("12345".getBytes(), "12345".getBytes());
//		   System.out.println( new String(res) );            
//	    }	
} 

