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 를 위한 코드가 추가로 생성 됩니다.

Protobuf 사용 여부
속성 설명

ioConfiguration.useProtobuf

기본값

다중 값 여부

아니오

사용할 수 있는 값

true

false

11. 사용할 IO 필드 타입

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 태그가 지정된 값으로 생성 됩니다.

elementTag 값 강제화
속성 설명

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

DB→IO 생성시 컬럼 이름을 카멜 표기법으로 변환
속성 설명

ioConfiguration.dbToIo.useConvertToCamelNotation

기본값

다중 값 여부

아니오

사용할 수 있는 값

true

false

15. 사용할 수 있는 캐릭터셋

필드를 인코딩 할 때 사용할 수 있는 캐픽터셋을 등록 합니다.

사용할 수 있는 캐릭터셋
속성 설명

ioConfiguration.fieldAttribute.encodingList

기본값

UTF8

EUC-KR

다중 값 여부

사용할 수 있는 값

UTF8

EUC_KR

UTF8,EUC_KR

16. 사용할 수 있는 Filler

필드에 사용할 Filler 를 등록 합니다.

FLD 옵션

사용할 수 있는 Filler
속성 설명

ioConfiguration.fieldAttribute.fillerList

기본값

*

0

다중 값 여부

사용할 수 있는 값

0

*

0,*

17. 사용할 수 있는 Function

필드에 사용할 Function 을 등록 합니다.

FLD 옵션

사용할 수 있는 Function
속성 설명

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 인 경우 : 예외 발생

get(String key) 메소드의 반환 값.
속성 설명

ioConfiguration.generator.dynamicGetter.noField.useReturnNull

기본값

false

다중 값 여부

아니오

사용할 수 있는 값

true

false

23. JsonProperty 애노테이션의 값을 Snake 표기법으로 사용.

JsonProperty 애노테이션의 값을 Snake 표기법으로 사용할지 지정합니다.

예시) 필드 이름이 userName 인 경우.

1. true 인 경우: JsonPropery("user_name")으로 생성.

2. false 인 경우: JsonPropery("userName")으로 생성.

JsonProperty 애노테이션의 값을 Snake 표기법으로 사용.
속성 설명

ioConfiguration.generator.jsonProperty.asSnakeNotation

기본값

false

다중 값 여부

아니오

사용할 수 있는 값

true

false

24. Predictable 인터페이스 사용 여부.

Predictable 인터페이스를 사용할지 여부를 지정합니다.

Predictable 인터페이스 사용 여부.
속성 설명

ioConfiguration.generator.use.predictable

기본값

true

다중 값 여부

아니오

사용할 수 있는 값

true

false

25. FieldInfo 인터페이스 사용 여부.

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();
            }
        }
자바 소스 코드를 생성 할 때 isSet 관련 코드를 생성할 것인지 여부.
속성 설명

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 형태의 메시지로 값이 변환될 때 정상 동작을 하지 않을 수 있습니다.

데이터 포맷팅을 위한 Inner 클래스 사용 여부
속성 설명

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>
@XmlElement("item") 및 @XmlElementWrapper() 애노테이션 사용여부
속성 설명

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

        private DateToStringAdapter_today todayAdapter= new DateToStringAdapter_today();
        //..
        public void setToday(String today) {
            try{
                setToday(todayAdapter.unmarshal(today));
            }
            catch(Exception e){
                throw new IllegalArgumentException("Invalid value : "+ today, e);
            }
        }

2. false

        private SimpleDateFormat today_dateFormat= new SimpleDateFormat("yyyyMMdd hh:mm:ss");
        public void setToday(String today) {
            try{
                setToday(today_dateFormat.parse(today));
            }
            catch(Exception e){
                throw new IllegalArgumentException("Invalid value : "+ today, e);
            }
        }
Date로 선언된 필드에 값을 설정하기 위해 String 타입을 인자로 받는 메소드의 생성 여부.
속성 설명

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 일때: 모든 항목에 대해서 검증이 수행됩니다.

IO 검증 기능을 UI편집기 및 자원 검증에서만 사용
속성 설명

ioConfiguration.validation.onlyUiEditorAndResourceValidation

기본값

true

다중 값 여부

아니오

사용할 수 있는 값

true

false

38. 사용하지 않을 IO 검증기 지정

IO 검증에서 사용하지 않을 검증기의 ID 를 등록합니다.

사용하지 않을 IO 검증기 지정
속성 설명

ioConfiguration.validation.ignoreValidator

다중 값 여부

39. IO 메타 검증 제외 프로젝트

IO 메타 검증을 제외할 프로젝트명을 등록합니다.

IO 메타 검증 제외 프로젝트
속성 설명

ioConfiguration.validation.ignore.meta.projectName

다중 값 여부

40. IO 메타 검증 제외 패키지

IO 메타 검증을 제외할 패키지명을 등록합니다.

IO 메타 검증 제외 패키지
속성 설명

ioConfiguration.validation.ignore.meta.packageName

다중 값 여부

41. IO 메타 검증 제외 클래스

IO 메타 검증을 제외할 클래스명을 등록합니다.

IO 메타 검증 제외 클래스
속성 설명

ioConfiguration.validation.ignore.meta.className

다중 값 여부

42. 필드 타입의 존재여부 확인

IO 검증을 수행할 때 필드의 타입이 작업 공간에 존재하는지 확인합니다.

필드 타입의 존재여부 확인
속성 설명

ioConfiguration.validation.checkTypeExist

기본값

true

다중 값 여부

아니오

사용할 수 있는 값

true

false

43. Swagger API 사용여부

Swagger API 사용여부를 지정합니다.

Swagger API 사용여부
속성 설명

ioConfiguration.swagger.useSwaggerApi

기본값

false

다중 값 여부

아니오

사용할 수 있는 값

true

false

44. Swagger API 어노테이션 버전

Swagger API 어노테이션 버전을 지정합니다.

Swagger API 어노테이션 버전
속성 설명

ioConfiguration.swagger.swaggerApi.annotationVersion

기본값

1.5.20

다중 값 여부

아니오

사용할 수 있는 값

1.5.20

45. 전체 프로젝트에 IO 빌드 적용여부

전체 프로젝트에 IO 빌드 적용여부를 지정합니다.

값이 true 인 경우 전체 프로젝트에 IO 빌더가 동작합니다. false 인 경우에는 사용자가 지정한 프로젝트에 대해서만 IO 빌더가 동작합니다.

전체 프로젝트에 IO 빌드 적용여부
속성 설명

io.build.buildAllProject

기본값

true

다중 값 여부

아니오

사용할 수 있는 값

true

false

Copyright© Bankwareglobal All Rights Reserved.