2022년 4월 3일 일요일

[기록용] 문자열 기준으로 데이터를 가져오기 위한 기초 클래스

 앞서 구성한 함수를 활용하여 계산 , 논리적인 판별을 하기 위한 모듈을 구성하기 위해서

가장 기본적인 내용을 담은 class를 구성 합니다. 

interface 구조도 가능하나, 해당 class 가 하는 일이 있기 때문에 abstract class로 구성합니다.


public abstract class SyntaxBaseDTO {

protected String syntax = null;

private MAIN_TYPE mainType = null;

private int subType = -1;

private boolean isConst = false;

protected Set<String> specialKeySet = null;

protected Map<String,Map<String,String>> variableMap = null;

public enum MAIN_TYPE {

BRACE_TYPE(1),

LOGIC_TYPE(2),

COMPARE_TYPE(3),

CALCULATION_TYPE(4);

private int value = -1;

private MAIN_TYPE(int value) {

this.value = value;

}

public int getValue() {

return this.value;

}

public SyntaxBaseDTO() {

}

public SyntaxBaseDTO( String syntax ) {

this.syntax = syntax;

initResource();

}

private void initResource() {

if ( CommonBaseUtility.isEmptyValue(syntax) ) {

return;

}

if (syntax.toLowerCase().matches("true|false")) {

isConst = true;

mainType = MAIN_TYPE.COMPARE_TYPE;

}

isConst = CommonBaseUtility.isNumericValue(syntax);

mainType = MAIN_TYPE.CALCULATION_TYPE;

}

public boolean isConstValue() {

return isConst;

}

public abstract boolean parseCurrentSyntaxValue();

public abstract String getValue(Map<String,String> transMap);

public abstract boolean getLogicalValue(Map<String,String> transMap);


/**

* @return the syntax

*/

public String getSyntax() {

return syntax;

}


/**

* @param syntax the syntax to set

*/

public void setSyntax(String syntax) {

this.syntax = syntax;

}


/**

* @return the mainType

*/

public MAIN_TYPE getMainType() {

return mainType;

}


/**

* @param mainType the mainType to set

*/

public void setMainType(MAIN_TYPE mainType) {

this.mainType = mainType;

}


/**

* @return the isConst

*/

public boolean isConst() {

return isConst;

}


/**

* @param isConst the isConst to set

*/

public void setConst(boolean isConst) {

this.isConst = isConst;

}


/**

* @return the subType

*/

public int getSubType() {

return subType;

}


/**

* @param subType the subType to set

*/

public void setSubType(int subType) {

this.subType = subType;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub


}

}


Exception 처리 등 구성해야 할 부분이 많이 있지만, 기초 class 로 향후 참조용으로
기록합니다.  


댓글 없음:

댓글 쓰기