Repository navigation
Expand file tree
/
Copy pathNcssObjectCountRule.java
More file actions
52 lines (44 loc) · 1.56 KB
/
Copy pathNcssObjectCountRule.java
File metadata and controls
52 lines (44 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.plsql.rule.design;
import net.sourceforge.pmd.lang.plsql.ast.ASTGlobal;
import net.sourceforge.pmd.lang.plsql.ast.ASTProgramUnit;
import net.sourceforge.pmd.lang.plsql.ast.OracleObject;
/**
* Non-commented source statement counter for Oracle Object declarations.
*
* @author Stuart Turton
* @deprecated Since 7.19.0. Use the rule {@link NcssCountRule} instead.
*/
@Deprecated
public class NcssObjectCountRule extends AbstractNcssCountRule<OracleObject> {
/**
* Count type declarations. This includes Oracle Objects.
*/
public NcssObjectCountRule() {
super(OracleObject.class);
}
@Override
protected int defaultReportLevel() {
return 1500;
}
@Override
protected boolean isIgnored(OracleObject node) {
// Treat Schema-level ProgramUnits as Oracle Objects, otherwise as
// subprograms
return node instanceof ASTProgramUnit && !(node.getParent() instanceof ASTGlobal);
}
@Override
protected Object[] getViolationParameters(OracleObject node, int metric, int limit) {
String name = node.getObjectName();
return new Object[] {name == null ? "(unnamed)" : name, metric, limit};
}
/**
* @deprecated Since 7.18.0. Use {@link #getViolationParameters(OracleObject, int, int)} instead.
*/
@Deprecated
protected Object[] getViolationParameters(OracleObject node, int metric) {
return getViolationParameters(node, metric, -1);
}
}