BXM

BXM Rule Set

1. DeclareAutowiredRule

멤버 필드로 Bean, DBIO 를 사용할 때 @Autowired 애노테이션의 사용 여부를 확인합니다.

'@Autowired 애노테이션을 사용' 옵션(declareAutowiredRule.useAutowired)의 값이..

  1. true 인 경우 +

    • 멤버 필드에 @Autowired 애노테이션이 사용 되지 않았다면 위반 항목으로 검출 됩니다.

    • 멤버 필드를 getBean 으로 초기화 하는 코드가 메소드에 존재 하는 경우 위반 항목으로 검출 됩니다.

  2. false 인 경우에는 +

    • 멤버 필드에 @Autowired 애노테이션이 사용되었다면 위반 항목으로 검출 됩니다. +

    • 멤버 필드를 메소드에서 사용할 때, 메소드 상단에 멤버 필드를 getBean 으로 초기화 하는 코드가 없다면 위반 항목으로 검출 됩니다.
      (멤버 필드 사용 코드보다 getBean 으로 초기화 하는 코드가 더 위에 있어야 합니다.)

여기서 'getBean 메소드의 클래스 이름' 옵션(DeclareAutowiredRule.option.get.bean.class.name)과 'getBean 메소드 명' 옵션(DeclareAutowiredRule.option.get.bean.method.name) 이 정의 되어있지 않으면 기본으로 클래스 명은 'LApplicationContext', 메소드 명은 'getBean' 입니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

declareAutowired.use.autowired

기본값

true

설명

@Autowired 애노테이션 사용 여부를 설정합니다.

1. true 인 경우
- 멤버 필드에 @Autowired 애노테이션이 사용 되지 않았다면 위반 항목으로 검출 됩니다.
- 멤버 필드를 getBean 으로 초기화 하는 코드가 메소드에 존재 하는 경우 위반 항목으로 검출 됩니다.

2. false 인 경우
- 멤버 필드에 @Autowired 애노테이션이 사용되었다면 위반 항목으로 검출 됩니다.
- 멤버 필드를 메소드에서 사용할 때, 메소드 상단에 멤버 필드를 getBean 으로 초기화 하는 코드가 없다면 위반 항목으로 검출 됩니다.
(멤버 필드 사용 코드보다 getBean 으로 초기화 하는 코드가 더 위에 있어야 합니다.)

* 적용 룰 : DeclareAutowiredRule

속성

declareAutowired.get.bean.class.name

기본값

bxm.container.LApplicationContext

설명

getBean 메소드 클래스 이름을 설정합니다.

* 적용 룰 : DeclareAutowiredRule

속성

declareAutowired.get.bean.method.name

기본값

getBean

설명

getBean 메소드 이름을 설정합니다.

* 적용 룰 : DeclareAutowiredRule

2. BeanDeclarationRule

Bean 클래스를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 멤버 필드에 Service, IO 타입이 정의 된 경우

  2. 클래스에 @BxmCategory 애노테이션이 작성 되지 않은 경우

  3. 메소드에 @BxmCategory 애노테이션이 작성 되지 않은 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

logger.name

기본값

org.slf4j.Logger

설명

멤버 변수에 Logger 클래스가 있을 경우, 인스펙션에서 스킵합니다.

속성

allowed.constants

기본값

false

설명

클래스의 멤버변수로 상수를 허용합니다.

속성

use.static.final.constant

기본값

false

설명

상수 선언에서 static 체크 여부를 지정합니다.

속성

bean.allow.nested.class

기본값

false

설명

Bean에서 중첩 클래스를 허용합니다.

3. EmptyLogicalNameForBeanRule

  1. 클래스의 @BxmCategory 애노테이션의 logicalName 속성이 없거나 값이 없는 경우.

    예시) @BxmCategory(), @BxmCategory(logicalName="")

  2. 메소드의 @BxmCategory 애노테이션의 logicalName 속성이 없거나 값이 없는 경우.

    메소드의 경우에는 옵션에 따라 public 으로 선언된 메소드만 확인 할 것인지 모든 메소드를 확인 할 것인지.

    예시) @BxmCategory(), @BxmCategory(logicalName="")

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

bean.category.emptyLogicalName.priority

기본값

HIGH

설명

Bean 에 선언된 @BxmCategory 애노테이션의 Bean 속성이 없거나 값이 없는 경우 처리할 룰의 Priority 를 지정합니다.

* 적용 룰 : EmptyDescriptionForBeanRule, EmptyLogicalNameForBeanRule, EmptyDescriptionForServiceRule, EmptyLogicalNameForServiceRule

속성

bean.category.emptyDescription.publicMethodOnly

기본값

true

설명

Bean 에 선언된 메소드에 대해 @BxmCategory 애노테이션의 logicalName 속성을 검증 할 때 그 대상을 public 메소드로 제한 할 것인지 여부.

- true 인 경우 public 메소드를 대상으로만 검증을 진행.

- false 인 경우 모든 메소드를 대상으로 검증을 진행.

* 적용 룰 : EmptyDescriptionForBeanRule, EmptyLogicalNameForBeanRule

4. EmptyDescriptionForBeanRule

  1. 클래스의 @BxmCategory 애노테이션의 description 속성이 없거나 값이 없는 경우.

    예시) @BxmCategory(), @BxmCategory(description="")

  2. 메소드의 @BxmCategory 애노테이션의 logicalName 속성이 없거나 값이 없는 경우.

    메소드의 경우에는 옵션에 따라 public 으로 선언된 메소드만 확인 할 것인지 모든 메소드를 확인 할 것인지.

    예시) @BxmCategory(), @BxmCategory(description="")

1 .우선순위: Low

2 .심각도: 경고

3 .예시

4 .옵션

속성

bean.category.emptyDescription.priority

기본값

HIGH

설명

Bean 에 선언된 @BxmCategory 애노테이션의 Bean 속성이 없거나 값이 없는 경우 처리할 룰의 Priority 를 지정합니다.

* 적용 룰 : EmptyDescriptionForBeanRule, EmptyLogicalNameForBeanRule, EmptyDescriptionForServiceRule, EmptyLogicalNameForServiceRule

속성

bean.category.emptyDescription.publicMethodOnly

기본값

true

설명

Bean 에 선언된 메소드에 대해 @BxmCategory 애노테이션의 description 속성을 검증 할 때 그 대상을 public 메소드로 제한 할 것인지 여부.

- true 인 경우 public 메소드를 대상으로만 검증을 진행.

- false 인 경우 모든 메소드를 대상으로 검증을 진행.

* 적용 룰 : EmptyDescriptionForBeanRule, EmptyLogicalNameForBeanRule

5. ServiceDeclarationRule

Service 클래스를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 멤버 필드에 DBIO, IO 타입이 정의 된 경우

  2. DBIO의 오퍼레이션/메소드를 호출하는 경우

  3. public 메소드에 @BxmServiceOperation 애노테이션이 작성되지 않은 경우

  4. 클래스에 @BxmCategory 애노테이션이 작성 되지 않은 경우

  5. 메소드에 @BxmCategory 애노테이션이 작성 되지 않은 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

logger.name

기본값

org.slf4j.Logger

설명

멤버 변수에 Logger 클래스가 있을 경우, 인스펙션에서 스킵합니다.

속성

allowed.constants

기본값

false

설명

클래스의 멤버변수로 상수를 허용합니다.

속성

use.static.final.constant

기본값

false

설명

상수 선언에서 static 체크 여부를 지정합니다.

속성

service.check.output.param

기본값

true

설명

서비스 메소드의 출력 파라메터가 정의 되었는가 확인 여부를 설정합니다.

- true 일 경우, 서비스 메소드는 출력 타입이 void 가 될 수 없습니다.

* 적용 룰 : ServiceDeclarationRule

속성

service.allowed.dbio.call

기본값

false

설명

서비스에서 DBIO 멤버 변수 허용 여부를 설정합니다.

- true 일 경우, 서비스에서 DBIO 멤버 변수를 사용할 수 있습니다.

- false 일 경우, 서비스에서 DBIO 멤버 변수를 사용할 수 없습니다. (기본 값)

* 적용 룰 : ServiceDeclarationRule

속성

service.allow.nested.class

기본값

false

설명

서비스에서 중첩 클래스를 허용합니다.

6. EmptyLogicalNameForServiceRule

  1. 클래스의 @BxmCategory 애노테이션의 logicalName 속성이 없거나 값이 없는 경우.

    예시) @BxmCategory(), @BxmCategory(logicalName="")

  2. 메소드의 @BxmCategory 애노테이션 logicalName 속성이 없거나 값이 없는 경우.

    메소드의 경우에는 옵션에 따라 서비스 오퍼레이션만 확인 할 것인지 모든 메소드를 확인 할 것인지.

    예시) @BxmCategory(), @BxmCategory(logicalName="")

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

service.category.emptyLogicalName.priority

기본값

HIGH

설명

Service 에 선언된 @BxmCategory 애노테이션의 Service 속성이 없거나 값이 없는 경우 처리할 룰의 Priority 를 지정합니다.

* 적용 룰 : EmptyDescriptionForBeanRule, EmptyLogicalNameForBeanRule, EmptyDescriptionForServiceRule, EmptyLogicalNameForServiceRule

속성

service.category.emptyLogicalName.checkServiceOperationOnly

기본값

true

설명

Service 에 선언된 메소드에 대해 @BxmCategory 애노테이션의 logicalName 속성을 검증 할 때 그 대상을 서비스 오퍼레이션(메소드)으로 제한 할 것인지 여부를 설정합니다.

- true 인 경우 서비스 오퍼레이션을 대상으로만 검증을 진행.
- false 인 경우 모든 메소드를 대상으로 검증을 진행.

* 적용 룰 : EmptyDescriptionForServiceRule, EmptyLogicalNameForServiceRule

7. EmptyDescriptionForServiceRule

  1. 클래스의 @BxmCategory 애노테이션의 description 속성이 없거나 값이 없는 경우.

    예시) @BxmCategory(), @BxmCategory(description="")

  2. 메소드의 @BxmCategory 애노테이션 description 속성이 없거나 값이 없는 경우.

    메소드의 경우에는 옵션에 따라 서비스 오퍼레이션만 확인 할 것인지 모든 메소드를 확인 할 것인지.

    예시) @BxmCategory(), @BxmCategory(description="")

1 .우선순위: Low

2 .심각도: 경고

3 .예시

4 .옵션

속성

service.category.emptyDescription.priority

기본값

HIGH

설명

Service 에 선언된 @BxmCategory 애노테이션의 Service 속성이 없거나 값이 없는 경우 처리할 룰의 Priority 를 지정합니다.

* 적용 룰 : EmptyDescriptionForBeanRule, EmptyLogicalNameForBeanRule, EmptyDescriptionForServiceRule, EmptyLogicalNameForServiceRule

속성

service.category.emptyDescription.checkServiceOperationOnly

기본값

true

설명

Service 에 선언된 메소드에 대해 @BxmCategory 애노테이션의 description 속성을 검증 할 때 그 대상을 서비스 오퍼레이션(메소드)으로 제한 할 것인지 여부를 설정합니다.

- true 인 경우 서비스 오퍼레이션을 대상으로만 검증을 진행.
- false 인 경우 모든 메소드를 대상으로 검증을 진행.

* 적용 룰 : EmptyDescriptionForServiceRule, EmptyLogicalNameForServiceRule

8. BeanMethodNamePatternRule

패턴에 일치하지 않는 메소드가 정의될 경우 제한합니다. (public 메소드만)

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

bean.method.name.pattern

기본값

설명

Bean 메소드 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BeanMethodNamePatternRule

9. BeanNamePatternRule

@BxmBean 의 value, 클래스, 패키지 이름을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

bean.name.pattern

기본값

설명

@BxmBean 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BeanNamePatternRule

속성

bean.class.name.pattern

기본값

설명

@BxmBean 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BeanNamePatternRule

속성

bean.package.name.pattern

기본값

설명

Bean 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BeanNamePatternRule

10. ServiceOperationNamePatternRule

패턴에 일치하지 않는 @BxmServiceOperation 이름일 경우 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

service.operation.name.pattern

기본값

설명

@BxmServiceOperation 의 이름 패턴을 정규식으로 작성합니다.

* 적용룰 : ServiceOperationNamePatternRule

속성

service.operation.method.name.pattern

기본값

설명

@BxmServiceOperation 어노테이션이 있는 public 메소드의 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : ServiceOperationNamePatternRule

11. ServiceOperationAnnotationRule

서비스 클래스가 아닌 곳에서 @BxmServiceOperation 어노테이션을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

12. ServiceNamePatternRule

@BxmService 의 value, 패키지 이름을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

service.name.pattern

기본값

설명

@BxmSerivce 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : ServiceNamePatternRule

속성

service.class.name.pattern

기본값

설명

Serivce 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : ServiceNamePatternRule

속성

service.package.name.pattern

기본값

설명

Serivce 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : ServiceNamePatternRule

13. ServiceInOutNamePatternRule

Service 클래스 메소드를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 패턴에 맞지 않는 입력(Input) 이름을 사용 할 경우

  2. 패턴에 맞지 않는 출력(Ouput) 이름을 사용 할 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

service.input.package.name.pattern

기본값

설명

Service 클래스에서 허용하는 입력(Input) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : ServiceInOutNamePatternRule

속성

service.input.name.pattern

기본값

설명

Service 클래스에서 허용하는 입력(Input) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : ServiceInOutNamePatternRule

속성

service.output.package.name.pattern

기본값

설명

Service 클래스에서 허용하는 출력(Output) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : ServiceInOutNamePatternRule

속성

service.output.name.pattern

기본값

설명

Service 클래스에서 허용하는 출력(Output) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : ServiceInOutNamePatternRule

14. DbioMethodNamePatternRule

패턴에 일치하지 않는 메소드가 정의될 경우 제한합니다. (public 메소드만)

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

dbio.method.name.pattern

기본값

설명

DBIO 메소드 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioMethodNamePatternRule

15. DbioNamePatternRule

DBIO의 클래스, 패키지 이름을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

dbio.class.name.pattern

기본값

설명

DBIO 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

dbio.package.name.pattern

기본값

설명

DBIO 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

batch.dbio.class.name.pattern

기본값

설명

배치 프로젝트의 DBIO 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

batch.dbio.package.name.pattern

기본값

설명

배치 프로젝트의 DBIO 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

dbio.use.equal.pattern.both.online.and.batch

기본값

true

설명

온라인/배치 프로젝트에서 동일한 클래스/패키지 이름 패턴 사용 여부를 설정합니다.

true 일 경우, 'dbio.class.name.pattern', 'dbio.package.name.pattern' 옵션이 온라인/배치 프로젝트의 DBIO에 적용됩니다.

false 일 경우, 'dbio.class.name.pattern', 'dbio.package.name.pattern’은 온라인 프로젝트에 적용되며, 'batch.dbio.class.name.pattern', 'batch.dbio.package.name.pattern' 는 배치 프로젝트에 적용됩니다.

16. DbioXmlMethodNamePatternRule

패턴에 일치하지 않는 메소드가 정의될 경우 제한합니다. (public 메소드만)

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

dbio.method.name.pattern

기본값

설명

DBIO 메소드 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioMethodNamePatternRule

17. DbioXmlNamePatternRule

DBIO의 클래스, 패키지 이름을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

dbio.class.name.pattern

기본값

설명

DBIO 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

dbio.package.name.pattern

기본값

설명

DBIO 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

batch.dbio.class.name.pattern

기본값

설명

배치 프로젝트의 DBIO 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

batch.dbio.package.name.pattern

기본값

설명

배치 프로젝트의 DBIO 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : DbioNamePatternRule, DbioXmlNamePatternRule

속성

dbio.use.equal.pattern.both.online.and.batch

기본값

true

설명

온라인/배치 프로젝트에서 동일한 클래스/패키지 이름 패턴 사용 여부를 설정합니다.

true 일 경우, 'dbio.class.name.pattern', 'dbio.package.name.pattern' 옵션이 온라인/배치 프로젝트의 DBIO에 적용됩니다.

false 일 경우, 'dbio.class.name.pattern', 'dbio.package.name.pattern’은 온라인 프로젝트에 적용되며, 'batch.dbio.class.name.pattern', 'batch.dbio.package.name.pattern' 는 배치 프로젝트에 적용됩니다.

18. BxmObjectLocalVariableRestrictRule

BXM Instance 를 지역 변수로 사용하는 것을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

19. BxmObjectNewInstanceRestrictRule

BXM Instance 를 new 로 생성하여 사용하는 경우 사용을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

20. MethodParameterSizeLimitRule

각 타입의 Public 메소드 파라미터 개수를 검증합니다. (서비스, DBIO, Bean)

  1. 서비스 메소드 파라미터가 3개 이상인 경우 위반 항목으로 검출합니다.

  2. DBIO 메소드 파라미터가 3개 이상인 경우 위반 항목으로 검출합니다.

  3. Bean 메소드 파라미터가 3개 이상인 경우 위반 항목으로 검출합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

methodParameter.service.limit.size

기본값

1

설명

서비스 메소드 파라미터 갯수를 설정합니다.

* 적용 룰 : MethodParameterSizeLimitRule

속성

methodParameter.dbio.limit.size

기본값

1

설명

DBIO 메소드 파라미터 갯수를 설정합니다.

* 적용 룰 : MethodParameterSizeLimitRule

속성

methodParameter.bean.limit.size

기본값

1

설명

Bean 메소드 파라미터 갯수를 설정합니다.

* 적용 룰 : MethodParameterSizeLimitRule

21. NullInstanceUseRule

맴버 변수를 초기화 했는지 체크합니다.

  1. @Autowired 애노테이션이 정의 되지 않은 멤버 필드가 초기화 되지 않은 채로 사용된 경우

  2. @Autowired 애노테이션을 사용했다면 초기화 체크 룰을 적용 안함

1 .우선순위: High

2 .심각도: 에러

3 .예시

                올바른 예)
                @Service
                @BxmCategory(logicalName="MyService", description="My Service")
                public class MyService {

                    @Autowired
                    private MyComponent comp;

                    @BxmCategory(logicalName="MyServiceMethod", description="My Service Method")
                     public Output getCustomer(Input input) {
                          Output result =  comp.getCustomer(input);
                     }
                }

                올바르지 못한 예)
                @Service
                @BxmCategory(logicalName="MyService", description="My Service")
                public class MyService {

                    private MyComponent comp;

                    @BxmCategory(logicalName="MyServiceMethod", description="My Service Method")
                     public Output getCustomer(Input input) {
                          Output result =  comp.getCustomer(input);
                     }
                }

22. TransactionalOperationAnnotationRule

허용되는 클래스 타입 외 @TransactionalOperation 에노테이션을 사용 했을 경우 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

transactional.operation.annotation.allow

기본값

설명

@TransactionalOperation 에노테이션을 허용할 클래스 타입을 설정합니다.

* 적용 룰 : TransactionalOperationAnnotationRule

속성

allowed.packages.to.use.transactional.operation.annotation.allow

기본값

설명

@TransactionalOperation 어노테이션을 허용할 패키지 목록을 설정합니다.

* 적용 룰 : TransactionalOperationAnnotationRule

속성

allowed.classes.to.use.transactional.operation.annotation.allow

기본값

설명

@TransactionalOperation 어노테이션을 허용할 클래스 목록을 설정합니다.

* 적용 룰 : TransactionalOperationAnnotationRule

23. RestrictOmmGetSetMethodUseRule

IOmmObject 의 get/set 메소드 호출을 금지합니다. 단, 메소드 호출을 허용하는 프로젝트, 클래스, 패키지는 예외로 합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

                올바르지 못한 예)
                public Output getCustomer(Input input) {
                      input.set("key", "value");
                      String value = input.get("key");
                }

4 .옵션

속성

allowed.packages.to.use.restrict.omm.get.set.method

기본값

설명

IOmmObject get/set 메소드를 허용할 패키지 목록을 설정합니다.

* 적용 룰 : RestrictOmmGetSetMethodUseRule

속성

allowed.packages.to.use.restrict.omm.get.set.method

기본값

설명

IOmmObject get/set 메소드를 허용할 패키지 목록을 설정합니다.

* 적용 룰 : RestrictOmmGetSetMethodUseRule

24. BatchBeanDeclarationRule

배치 Bean 클래스를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출 합니다.

  1. @Scope 어노테이션이 없을 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

25. BatchBeanInOutNamePatternRule

배치 Bean 클래스 메소드를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 패턴에 맞지 않는 입력(Input) 이름을 사용 할 경우

  2. 패턴에 맞지 않는 출력(Ouput) 이름을 사용 할 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

batch.bean.input.package.name.pattern

기본값

설명

배치 Bean 클래스에서 허용하는 입력(Input) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

속성

batch.bean.input.name.pattern

기본값

설명

배치 Bean 클래스에서 허용하는 입력(Input) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

속성

batch.bean.output.package.name.pattern

기본값

설명

배치 Bean 클래스에서 허용하는 출력(Output) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

속성

batch.bean.output.name.pattern

기본값

설명

배치 Bean 클래스에서 허용하는 출력(Output) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

26. BeanInOutNamePatternRule

Bean 클래스 메소드를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 패턴에 맞지 않는 입력(Input) 이름을 사용 할 경우

  2. 패턴에 맞지 않는 출력(Ouput) 이름을 사용 할 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

bean.input.package.name.pattern

기본값

설명

Bean 클래스에서 허용하는 입력(Input) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

속성

bean.input.name.pattern

기본값

설명

Bean 클래스에서 허용하는 입력(Input) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

속성

bean.output.package.name.pattern

기본값

설명

Bean 클래스에서 허용하는 출력(Output) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

속성

bean.output.name.pattern

기본값

설명

Bean 클래스에서 허용하는 출력(Output) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : BeanInOutNamePatternRule

27. DbioInOutNamePatternRule

DBIO 인터페이스 메소드를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 패턴에 맞지 않는 입력(Input) 이름을 사용 할 경우

  2. 패턴에 맞지 않는 출력(Ouput) 이름을 사용 할 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

dbio.input.package.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 입력(Input) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

속성

dbio.input.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 입력(Input) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

속성

dbio.output.package.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 출력(Output) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

속성

dbio.output.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 출력(Output) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

28. DbioXmlInOutNamePatternRule

DBIO 인터페이스 메소드를 정의할 때 아래 조건에 해당하는 경우 위반 항목으로 검출합니다.

  1. 패턴에 맞지 않는 입력(Input) 이름을 사용 할 경우

  2. 패턴에 맞지 않는 출력(Ouput) 이름을 사용 할 경우

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

dbio.input.package.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 입력(Input) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

속성

dbio.input.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 입력(Input) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

속성

dbio.output.package.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 출력(Output) 패키지 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

속성

dbio.output.name.pattern

기본값

설명

DBIO 인터페이스에서 허용하는 출력(Output) 클래스 이름 패턴을 자바 정규식으로 작성합니다.

* 적용 룰 : DbioInOutNamePatternRule

29. GeneralClassHasFieldBxmInstanceRestrictRule

일반 클래스에서 클래스 멤버 변수로 BXM Object를 가질 경우 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

30. GeneralClassNamePatternRule

일반 클래스, 패키지 이름을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

general.class.name.pattern

기본값

설명

일반 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : GeneralClassNamePatternRule

속성

general.package.name.pattern

기본값

설명

일반 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : GeneralClassNamePatternRule

31. MemberVariableGetSetMethodRestrictRule

  1. 서비스 클래스일 경우, DBIO, BEAN 의 getter/setter 사용 금지

  2. Bean 클래스일 경우, DBIO getter/setter 사용 금지

1 .우선순위: High

2 .심각도: 에러

3 .예시

32. GeneralClassGetBeanRestrictRule

일반 클래스에서 getBean 호출 제약합니다.

여기서 'getBean 메소드의 클래스 이름' 옵션(DeclareAutowiredRule.option.get.bean.class.name)과 'getBean 메소드 명' 옵션(DeclareAutowiredRule.option.get.bean.method.name) 이 정의 되어있지 않으면 기본으로 클래스 명은 'LApplicationContext', 메소드 명은 'getBean' 입니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

declareAutowired.get.bean.class.name

기본값

bxm.container.LApplicationContext

설명

getBean 메소드 클래스 이름을 설정합니다.

* 적용 룰 : GeneralClassGetBeanRestrictRule, DeclareAutowiredRule

속성

declareAutowired.get.bean.method.name

기본값

getBean

설명

getBean 메소드 이름을 설정합니다.

* 적용 룰 : GeneralClassGetBeanRestrictRule, DeclareAutowiredRule

33. BatchBeanNamePatternRule

배치 클래스의 클래스, 패키지 이름을 제한합니다.

1 .우선순위: High

2 .심각도: 에러

3 .예시

4 .옵션

속성

batch.bean.name.pattern

기본값

설명

배치 Bean의 @BxmBean 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BatchBeanNamePatternRule

속성

batch.bean.class.name.pattern

기본값

설명

배치 클래스 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BatchBeanNamePatternRule

속성

batch.bean.package.name.pattern

기본값

설명

배치 패키지 이름 패턴을 정규식으로 작성합니다.

* 적용 룰 : BatchBeanNamePatternRule

Copyright© Bankwareglobal All Rights Reserved.