package kcc.com.cmm.exception;

public class BaseException extends RuntimeException {

	private static final long serialVersionUID = 3500875284669187163L;

	private BaseModelCode baseModelCode;
	private Object [] params;


	public BaseException() {
		super();
	}


	public BaseException(String message) {
        super(message);
    }


	public BaseException(String message, Throwable cause) {
        super(message, cause);
    }


	public BaseException(Throwable cause) {
        super(cause);
    }


	public BaseException(BaseModelCode baseModelCode, Object ... params) {
		this.baseModelCode = baseModelCode;
		this.params = params;
	}


	public BaseException(BaseModelCode baseModelCode, Object param) {
		this(baseModelCode, new Object[] {param});
	}

	public BaseException(BaseModelCode baseModelCode) {
		this(baseModelCode, new Object[] {null});
	}


	public BaseModelCode getBaseModelCode() {
		return baseModelCode;
	}


	public Object[] getParams() {
		Object[]returnArr; 
    	//int returnSize = this.schSeqArr.length;
    	int returnSize = 0;    	
    	try {
    		returnSize = this.params.length;	
    	}catch(NullPointerException ex) {
    		System.out.println("NullPointerException");
    		//ex.printStackTrace();
    	}
    	
    	/* FIX */ 
    	if(returnSize > 0){ 
    		returnArr = new String[returnSize];
    		
    		for(int i=0; i < returnSize; i++){ 
    			returnArr[i] = this.params[i]; 
   			}
    		
    		return returnArr;
    		
    	}else{ 
    		return null;    	
    	}
    	
		//return params;
	}


}
