Default
기본 룰셋
1. RestrictSynchronizedRule
모든 클래스에서 synchronized 를 사용 할 수 없습니다.
1 .우선순위: High
2 .심각도: 에러
3 .예시
올바르지 못한 예)
static {
Object obj = new Object();
synchronized (obj) {
}
}
synchronized public String test() {
Object obj = new Object();
synchronized(obj) {
}
return "";
}
synchronized public static String test2() {
Object obj = new Object();
synchronized (obj) {
}
return "";
}
2. RestrictPackageUseRule
패키지에 포함된 클래스의 인스턴스 생성을 제한합니다. 단, 제한된 인스턴스 생성을 허용하는 패키지, 클래스는 예외로 합니다.
1 .우선순위: High
2 .심각도: 에러
3 .예시
4 .옵션
속성 | 값 |
---|---|
키 |
restrict.packages |
기본값 |
|
설명 |
인스턴스 생성을 제약할 패키지 목록을 설정합니다. |
속성 | 값 |
---|---|
키 |
allowed.packages.to.use.restrict.package |
기본값 |
|
설명 |
사용 제약 패키지를 허용하는 패키지 목록을 설정합니다. |
속성 | 값 |
---|---|
키 |
allowed.classes.to.use.restrict.package |
기본값 |
|
설명 |
사용 제약 패키지를 허용하는 클래스 목록을 설정합니다. |
3. RestrictMethodUseRule
메소드 호출을 제한합니다. 단, 제한된 메소드 호출을 허용하는 패키지, 클래스는 예외로 합니다.
1 .우선순위: High
2 .심각도: 에러
3 .예시
4 .옵션
속성 | 값 |
---|---|
키 |
restrict.methods |
기본값 |
|
설명 |
사용 금지 메소드 목록을 설정합니다. |
속성 | 값 |
---|---|
키 |
allowed.packages.to.use.restrict.method |
기본값 |
|
설명 |
사용 제약 메소드를 허용하는 패키지 목록을 설정합니다. |
속성 | 값 |
---|---|
키 |
allowed.classes.to.use.restrict.method |
기본값 |
|
설명 |
사용 금지 메소드를 허용하는 클래스 목록을 설정합니다. |
4. RestrictClassUseRule
클래스 인스턴스 생성을 제한합니다. 단, 제한된 인스턴스 생성을 허용하는 패키지, 클래스는 예외로 합니다.
1 .우선순위: High
2 .심각도: 에러
3 .예시
4 .옵션
속성 | 값 |
---|---|
키 |
restrict.classes |
기본값 |
|
설명 |
인스턴스 생성을 제약할 클래스 목록을 설정합니다. |
속성 | 값 |
---|---|
키 |
allowed.packages.to.use.restrict.class |
기본값 |
|
설명 |
사용 제약 클래스를 허용하는 패키지 목록을 설정합니다. 허용하는 패키지는 {제약하는 클래스 이름}:{패키지 이름1};{패키지 이름2} 형식으로 등록해야 합니다. |
속성 | 값 |
---|---|
키 |
allowed.classes.to.use.restrict.class |
기본값 |
|
설명 |
사용 제약 클래스를 허용하는 클래스 목록을 설정합니다. 허용하는 클래스는 {제약하는 클래스 이름}:{클래스 이름1};{클래스 이름2} 형식으로 등록해야 합니다. |
5. BigDecimalInitializationRule
다음 값으로 BigDecimal을 초기화할 수 없습니다. - double, float, java.lang.Double, java.lang.Float
1 .우선순위: High
2 .심각도: 에러
3 .예시
올바르지 못한 예)
double d = 5.f;
BigDecimal bdd = new BigDecimal(d);
float f = 5f;
BigDecimal bdf = new BigDecimal(f);
Double du = Double.valueOf(d);
BigDecimal bddu = new BigDecimal(du);
Float ft = Float.valueOf(f);
BigDecimal bdFt = new BigDecimal(ft);
6. BigIntegerInitializationRule
BigInteger를 사용 할 수 없습니다.
1 .우선순위: High
2 .심각도: 에러
3 .예시
올바르지 못한 예)
BigInteger b1 = new BigInteger("1000000000".getBytes());
BigInteger b2 = new BigInteger("10");
BigInteger b3 = new BigInteger(100, "100".getBytes());
BigInteger b4 = new BigInteger(1000, new Random());
BigInteger b5 = new BigInteger("100000", 1);