/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd; public class ExternalRuleID { private String filename; private String ruleName; public ExternalRuleID(String id) { int afterXML = id.indexOf(".xml") + 5; if (afterXML >= id.length()) { 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\"/>"); } filename = id.substring(0, afterXML - 1); ruleName = id.substring(afterXML); } public String getFilename() { return filename; } public String getRuleName() { return ruleName; } public String toString() { return filename + "/" + ruleName; } }