ExternalRuleID.java
01 /**
02  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03  */
04 package net.sourceforge.pmd;
05 
06 public class ExternalRuleID {
07 
08     private String filename;
09     private String ruleName;
10 
11     public ExternalRuleID(String id) {
12         int afterXML = id.indexOf(".xml"5;
13         if (afterXML >= id.length()) {
14             throw new RuntimeException("Unable to parse reference to external rule " + id + ".  These references need to be in the form <rulesetname>/<rulename>, i.e., <rule ref=\"rulesets/unusedcode.xml/UnusedPrivateField\"/>");
15         }
16         filename = id.substring(0, afterXML - 1);
17         ruleName = id.substring(afterXML);
18     }
19 
20     public String getFilename() {
21         return filename;
22     }
23 
24     public String getRuleName() {
25         return ruleName;
26     }
27 
28     public String toString() {
29         return filename + "/" + ruleName;
30     }
31 }