diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java index 7b3f347ca1..c2614de710 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java @@ -48,6 +48,11 @@ public abstract class AbstractRule extends AbstractPropertySource implements Rul definePropertyDescriptor(Rule.VIOLATION_SUPPRESS_XPATH_DESCRIPTOR); } + @Override + protected String getPropertySourceType() { + return "rule"; + } + /** * @deprecated Use {@link #deepCopy()} to create verbatim copies of rules. */ diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java index 1145f89eeb..15b2609f41 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/RuleReference.java @@ -329,6 +329,13 @@ public class RuleReference extends AbstractDelegateRule { || super.hasDescriptor(descriptor); } + /** + * @deprecated Use {@link #isPropertyOverridden(PropertyDescriptor)} instead + */ + @Deprecated + public boolean hasOverriddenProperty(PropertyDescriptor descriptor) { + return isPropertyOverridden(descriptor); + } @Override public boolean isPropertyOverridden(PropertyDescriptor descriptor) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/properties/AbstractPropertySource.java b/pmd-core/src/main/java/net/sourceforge/pmd/properties/AbstractPropertySource.java index fd07cadd33..2212750a7d 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/properties/AbstractPropertySource.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/properties/AbstractPropertySource.java @@ -13,7 +13,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import net.sourceforge.pmd.Rule; import net.sourceforge.pmd.util.CollectionUtil; @@ -103,10 +102,7 @@ public abstract class AbstractPropertySource implements PropertySource { } - private String getPropertySourceType() { - return this instanceof Rule ? "rule" : "renderer"; - } - + protected abstract String getPropertySourceType(); @Override public PropertyDescriptor getPropertyDescriptor(String name) { diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java index e01b788cda..33a7612495 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/AbstractRenderer.java @@ -27,6 +27,11 @@ public abstract class AbstractRenderer extends AbstractPropertySource implements this.description = description; } + @Override + protected String getPropertySourceType() { + return "renderer"; + } + @Override public String getName() { return name;