IO 설정
IO 옵션을 적용 합니다.
1. 메타 검증에서 [타입] 비교
IO 프로퍼티에 사용된 [타입] 을 등록된 메타와 비교 합니다.
사용하지 않을 IO 검증기 목록(ioConfiguration.validation.ignoreValidator)에 메타 검증기(metaCompare.io.field.validator)가 등록 되어 있는 경우에는 비활성화 됩니다. |
속성 | 설명 |
---|---|
키 |
ioValidator.metaCompare.useType |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
2. 메타 검증에서 [길이] 비교
IO 프로퍼티에 사용된 [길이] 을 등록된 메타와 비교 합니다.
사용하지 않을 IO 검증기 목록(ioConfiguration.validation.ignoreValidator)에 메타 검증기(metaCompare.io.field.validator)가 등록 되어 있는 경우에는 비활성화 됩니다. |
속성 | 설명 |
---|---|
키 |
ioValidator.metaCompare.useLength |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
3. 메타 검증에서 [소수점] 비교
IO 프로퍼티에 사용된 [소수점] 을 등록된 메타와 비교 합니다.
사용하지 않을 IO 검증기 목록(ioConfiguration.validation.ignoreValidator)에 메타 검증기(metaCompare.io.field.validator)가 등록 되어 있는 경우에는 비활성화 됩니다. |
속성 | 설명 |
---|---|
키 |
ioValidator.metaCompare.useDecimal |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
4. 날짜 포맷
IO 필드의 타입을 Date 로 사용 할 경우에 사용할 기본 날짜 포맷을 지정 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.format.defaultDateFormat |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
yyyyMMdd hh:mm:ss |
yyyy/MM/dd |
5. 통화 포맷
IO 필드의 타입을 숫자 타입으로 사용 할 경우에 사용할 기본 통화 포맷을 지정 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.format.defaultCurrencyFormat |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
#,###.00 |
#,### |
6. 기본 마스킹 포맷 사용 여부
기본 마스킹 포맷의 사용 여부를 지정합니다. 프로젝트 내에서 제공하는 마스킹 포맷만 사용하려는 경우에는 false 로 지정하십시오.
속성 | 설명 |
---|---|
키 |
ioConfiguration.format.useDefaultMaskingList |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
7. 사용할 수 있는 날짜 포맷
사용할 수 있는 날짜 포맷을 등록 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.format.dateList |
기본값 |
yyyyMMdd |
yyyy/MM/dd |
|
yyyy-MM-dd |
|
yyyyMMdd hh:mm:ss |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
yyyyMMdd |
yyyy/MM/dd |
|
yyyy-MM-dd |
|
yyyyMMdd hh:mm:ss |
8. 사용할 수 있는 통화 포맷
사용할 수 있는 통화 포맷을 등록 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.format.currencyList |
기본값 |
#,###.00 |
#,###.## |
|
#,### |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
#,###.00 |
#,###.## |
|
#,### |
9. 사용할 수 있는 마스킹 포맷
사용할 수 있는 마스킹 포맷을 등록 합니다.
1. 작성 방법: code=코드명;name=화면에보여질이름;pattern=정규식;mask=마스크
-
code: 생성되는 자바 코드의 @BxmOmm_Field 애노테이션의 format 속성에서 사용.
-
name: 편집기에 보여질 이름.
-
pattern: 정규식. 입력된 값은 문자열로 사용되므로 반드시 escape 문자와 함께 사용. 예) \d → \\d, \s→\\s
-
mask: 마스크
2. 예시)
2.1. 모든 문자를 * 로 치환
code=PRIVACY;name=개인정보;pattern=.;mask=*
→ 값의 모든 문자를 * 로 치환.
2.2. 핸드폰 번호 가운데 4자리를 *로 치환
code=CELL_PHONE;name=핸드폰 번호 가운데
4자리;pattern=(\\d{3})(-)(\\d{4})(-)(\\d{4});mask=$1$2****$4$5
→ 값이 정규식에 일치하면 첫번째 그룹($1), 두번째 그룹($2), ****, 네번째
그룹($4), 다섯번째 그룹($5)을 출력.
여기서 $1, $2, $3, $4, $5 는 각각 괄호로 싸여져 있는 부분을 의미함.
속성 | 설명 |
---|---|
키 |
ioConfiguration.format.maskingList |
기본값 |
code=PRIVACY;name=개인정보;pattern=.;mask=* |
다중 값 여부 |
예 |
사용할 수 있는 값 |
code=PRIVACY;name=개인정보;pattern=.;mask=* |
code=PRIVACY |
|
code=PRIVACY,name=개인정보 |
|
PRIVACY |
10. Protobuf 사용 여부
Protobuf 사용 여부를 지정 합니다.
값이 true 인 경우에 생성되는 자바 코드에 Protobuf 를 위한 코드가 추가로 생성 됩니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.useProtobuf |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
11. 사용할 IO 필드 타입
IO 필드의 타입으로 사용할 수 있는 타입을 등록 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.useType |
기본값 |
String |
BigDecimal |
|
BigInteger |
|
Integer |
|
Boolean |
|
Character |
|
Short |
|
Long |
|
Float |
|
Double |
|
Date |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
String |
BigDecimal |
|
BigInteger |
|
Integer |
|
Boolean |
|
Character |
|
Short |
|
Long |
|
Float |
|
Double |
|
int |
|
boolean |
|
char |
|
short |
|
long |
|
float |
|
double |
|
Date |
|
enum |
|
String,BigDecimal,Integer,Boolean,Character,Short,Long,Float,Double |
12. elementTag 값 강제화
IO 가 서비스의 입출력으로 사용되는 경우에 elementTag 속성에 강제로 지정된 값을 사용하도록 지정 합니다.
지정된 값이 있는 경우, IO 를 XML 메시지로 생성하면 root 태그가 지정된 값으로 생성 됩니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.serviceIo.force.elementTag |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
body |
header |
13. 사용할 포맷 타입 지정
사용할 포맷 타입을 지정 할 수 있습니다.
-
사용 가능 값 : currency, date, masking
속성 | 설명 |
---|---|
키 |
ioConfiguration.useFormatType |
기본값 |
currency,date,masking |
다중 값 여부 |
예 |
사용할 수 있는 값 |
currency |
date |
|
masking |
|
currency,date,masking |
14. DB→IO 생성시 컬럼 이름을 카멜 표기법으로 변환
DB→IO 생성시 컬럼 이름을 카멜 표기법으로 변환할지 여부를 지정 할 수 있습니다.
1. true 인 경우 : USER_NAME → userName
2. false 인 경우 : USER_NAME → USER_NAME
속성 | 설명 |
---|---|
키 |
ioConfiguration.dbToIo.useConvertToCamelNotation |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
15. 사용할 수 있는 캐릭터셋
필드를 인코딩 할 때 사용할 수 있는 캐픽터셋을 등록 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldAttribute.encodingList |
기본값 |
UTF8 |
EUC-KR |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
UTF8 |
EUC_KR |
|
UTF8,EUC_KR |
16. 사용할 수 있는 Filler
필드에 사용할 Filler 를 등록 합니다.
FLD 옵션 |
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldAttribute.fillerList |
기본값 |
* |
0 |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
0 |
* |
|
0,* |
17. 사용할 수 있는 Function
필드에 사용할 Function 을 등록 합니다.
FLD 옵션 |
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldAttribute.functionList |
기본값 |
* |
0 |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
function1 |
function2 |
|
function3,function4 |
18. 필드에 사용할 기타 속성
필드에 사용할 기타 속성을 등록 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldAttribute.etcAttributeKeyList |
기본값 |
* |
0 |
|
다중 값 여부 |
예 |
사용할 수 있는 값 |
etcKey1 |
etcKey1,etcKey2,etcKey3 |
19. 기타 속성 타이틀 라벨
기타 속성의 타이틀 라벨을 지정 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldAttribute.etcAttributeTitle |
기본값 |
|
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
IO 추가 속성 |
기타 타이틀 |
20. 동적 값을 위한 변수 이름
생성되는 자바 코드에서 동적 값을 위한 변수 이름을 지정 합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.dynamicVariableName |
기본값 |
htDynamicVariable |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
htDynamicVariable |
tempVariableMap |
21. 동적 값 사용 여부
동적 값을 위한 변수의 사용 여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.use.dynamicVariable |
기본값 |
false |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
22. get(String key) 메소드의 반환 값.
IO 자바 소스의 get(String key) 메소드에서 key 에 해당하는 필드가 없을 때 null을 반환할지 예외를 던질지를 지정합니다.
1. true 인 경우 : null 반환
2. false 인 경우 : 예외 발생
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.dynamicGetter.noField.useReturnNull |
기본값 |
false |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
23. JsonProperty 애노테이션의 값을 Snake 표기법으로 사용.
JsonProperty 애노테이션의 값을 Snake 표기법으로 사용할지 지정합니다.
예시) 필드 이름이 userName 인 경우.
1. true 인 경우: JsonPropery("user_name")으로 생성.
2. false 인 경우: JsonPropery("userName")으로 생성.
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.jsonProperty.asSnakeNotation |
기본값 |
false |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
24. Predictable 인터페이스 사용 여부.
Predictable 인터페이스를 사용할지 여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.use.predictable |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
25. FieldInfo 인터페이스 사용 여부.
FieldInfo 인터페이스를 사용할지 여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.use.fieldInfo |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
26. 필드에 속성이 정의 되지 않은 경우 기본값을 사용할 것인지 여부.
IO 필드에 다음 속성이 정의 되지 않은 경우, 생성되는 자바 소스의 BxmOmm_Field 애노테이션의 속성에 기본 값을 사용할 것인지 여부를 지정합니다.
-
속성: fill, align
가급적 false 로 사용하지 마십시오. |
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.use.emptyFieldAnnotation.writeDefaultValue |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
27. 자바 소스 코드를 생성 할 때 isSet 관련 코드를 생성할 것인지 여부.
자바 소스 코드를 생성 할 때 isSet 관련 코드를 생성할 것인지 여부를 지정합니다.
예시)
@XmlTransient
@JsonIgnore
private boolean isSet_count= false;
protected final boolean isSet_count(){
return this.isSet_count;
}
private void setIsSet_count(boolean value){
this.isSet_count= value;
}
@XmlElement
public Integer getCount(){
if ( isSet_count ) return count;
else{
if ( testList == null || testList.size() == 0 ) return 0;
else return testList.size();
}
}
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.use.isSetField |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
28. 데이터 포맷팅을 위한 Inner 클래스 사용 여부
필드가 아래 타입으로 정의된 경우 데이터 전송(Json, Xml, FLD 등)을 위해 Inner 클래스를 사용하여 포맷팅을 수행합니다.
1. Date 타입.
2. BigDecimal, BigInteger, Integer, Long, Float, Double 등의 Number 타입을 사용하고 Format 옵션이 Currency 인 경우.
Inner 클래스를 사용할 수 없는 특정 상황을 고려하여 이 기능을 Disable 할 수 있습니다.
값을 false 로 지정하면 기능이 Disable 됩니다.
꼭 필요한 경우에만 사용하십시오. Json, Xml, FLD 형태의 메시지로 값이 변환될 때 정상 동작을 하지 않을 수 있습니다. |
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.use.fieldFormatterInnerClass |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
29. @XmlElement("item") 및 @XmlElementWrapper() 애노테이션 사용여부
IO 소스 생성기는 XML 메시지 전송을 위해 배열로 정의된 필드에 @XmlElement("item") 과 @XmlElementWrapper 애노테이션을 사용합니다.
IO 편집기에서 String name 필드가 배열로 정의되고 값이 PETER,ALEX,JOHN 이 지정된 경우..
값이 true 로 지정된 경우 XML 은 다음과 같은 형태로 전송됩니다.
<body>
<name>
<item>PETER</item>
<item>ALEX</item>
<item>JOHN</item>
</name>
</body>
값이 false 인 경우에는 다음과 같은 형태로 전송됩니다.
<body>
<name>PETER</name>
<name>ALEX</name>
<name>JOHN</name>
</body>
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.xml.field.array.useItem |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
30. Date로 선언된 필드에 값을 설정하기 위해 String 타입을 인자로 받는 메소드의 생성 여부.
Date로 선언된 필드에 값을 설정하기 위해 String 타입을 인자로 받는 메소드의 생성 여부를 지정합니다.
값이 true 인 경우 setTime(String date) 형태의 메소드가 추가로 생성됩니다.
[데이터 포맷팅을 위한 Inner 클래스 사용 여부(ioConfiguration.generator.use.fieldFormatterInnerClass)]의 값에 따라 생성되는 코드가 아래와 같이 달라집니다. 1. true
2. false
|
속성 | 설명 |
---|---|
키 |
ioConfiguration.generator.field.date.use.stringSetter |
기본값 |
false |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
31. 필드 검증 룰
필드의 값을 검증할 룰을 등록 합니다. 작성 방법은 아래 예시를 참고 하십시오.
예시1) 파라미터가 없는 경우
ruleId=BXMVD0001;name=NULL 검사;seq=0
예시2) 파라미터가 1개인 경우
ruleId=BXMVD0002;name=최소 길이 검사;seq=2;params=Integer
예시3) 파라미터가 2개인 경우
ruleId=BXMVD0003;name=범위 검사;seq=3;params=Integer,Integer
사용할 수 있는 속성은 아래와 같습니다. 속성의 구분은 세미콜론(;)을 사용 합니다. 1. ruleId: 룰의ID. 2. name: 화면에 표시할 이름. 3. seq: 화면에 표시할 순서. 4. params: 검증 룰이 사용하는 파라미터가 있는 경우에 타입을 콤마(,)로 구분하여 작성. |
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldValidationRule |
다중 값 여부 |
예 |
사용할 수 있는 값 |
ruleId=BXMVD0001;name=NULL 검사;seq=0 |
ruleId=BXMVD0002;name=최소 길이 검사;seq=2;params=Integer |
32. 필드 검증 룰에 적용할 타입.
필드 검증룰을 사용할 타입을 등록합니다.
예시1) BXMVD0001 를 String 과 OMM 타입에 사용할 경우.
ruleId=BXMVD0001;type=String,OMM
예시2) BXMVD0002 를 Integer 에 사용할 경우
ruleId=BXMVD0002;type=Integer
타입은 콤마(,)로 구분하여 추가할 수 있습니다. |
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldValidationRule.applyType |
다중 값 여부 |
예 |
사용할 수 있는 값 |
ruleId=BXMVD0001;type=String,OMM |
ruleId=BXMVD0002;type=Integer |
33. 필드 검증 룰의 기본 값.
필드 검증룰의 기본값을 지정합니다.
예시1) BXMVD0002 이 값의 범위를 검증하는 경우 최소값이 2, 최대값이 10인 경우.
BXMVD0002,2,10
예시2) BXMVD0003 이 값의 범위를 검증하는데 최소값은 2, 최대값은 필드의 길이를 사용하는 경우.
BXMVD0003,2,:LENGTH
':LENGTH' 를 사용한 경우에는 필드의 길이값을 사용합니다. |
속성 | 설명 |
---|---|
키 |
ioConfiguration.fieldValidationRule.defaultValue |
다중 값 여부 |
예 |
34. 같은 타입을 필드로 사용하는 것을 허용.
IO 필드를 추가할 때 동일한 타입을 필드로 사용할 수 있는지 여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.allowIncludeSameType |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
35. 상위 타입 사용 여부
IO 가 상위 타입을 사용할 수 있을지 여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.useOmmSuperType |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
36. 상위타입에 선언된 변수명과 동일한 변수명을 허용할지 여부
상위타입에 선언된 변수명과 동일한 변수명을 허용할지 여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.allowSameVariableInSuperType |
기본값 |
false |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
37. IO 검증 기능을 UI편집기 및 자원 검증에서만 사용
IO 검증 기능을 UI편집기 및 자원 검증에서만 사용할지 여부를 지정합니다.
검증 기능이 수행되는 경우는 아래와 같습니다.
1. UI 편집기에서 모델이 수정되는 경우
2. Text 편집기에서 모델이 수정/저장되는 경우
3. SVN Commit 또는 GIT Push가 수행되는 경우
4. 빌드(Full/Incremental)가 수행되는 경우
값이 true 일때: 1,3 경우에 대해서만 검증이 수행됩니다. 자원이 많은 경우 빌드 시점에 검증을 수행하지 않으므로 빌드 성능 향상에 도움을 줄 수 있습니다. 단, 검증이 수행되지 않으므로 파일에 Marker 가 생성되지 않으니 참고하십시오.
값이 false 일때: 모든 항목에 대해서 검증이 수행됩니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.onlyUiEditorAndResourceValidation |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
38. 사용하지 않을 IO 검증기 지정
IO 검증에서 사용하지 않을 검증기의 ID 를 등록합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.ignoreValidator |
다중 값 여부 |
예 |
39. IO 메타 검증 제외 프로젝트
IO 메타 검증을 제외할 프로젝트명을 등록합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.ignore.meta.projectName |
다중 값 여부 |
예 |
40. IO 메타 검증 제외 패키지
IO 메타 검증을 제외할 패키지명을 등록합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.ignore.meta.packageName |
다중 값 여부 |
예 |
41. IO 메타 검증 제외 클래스
IO 메타 검증을 제외할 클래스명을 등록합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.ignore.meta.className |
다중 값 여부 |
예 |
42. 필드 타입의 존재여부 확인
IO 검증을 수행할 때 필드의 타입이 작업 공간에 존재하는지 확인합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.validation.checkTypeExist |
기본값 |
true |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |
43. Swagger API 사용여부
Swagger API 사용여부를 지정합니다.
속성 | 설명 |
---|---|
키 |
ioConfiguration.swagger.useSwaggerApi |
기본값 |
false |
다중 값 여부 |
아니오 |
사용할 수 있는 값 |
true |
false |