У меня есть ViewState
классы POJO, у которых есть конструкторы со многими параметрами. Проблема в том, что PMD выдает им нарушение ExcessiveParameterList
.
Теперь я пытаюсь подавить это нарушение для всех классов, которые заканчиваются на ViewState.java
(например, в DashboardViewState.java
). Я добавил это в свой rules-pmd.xml
:
<rule ref="category/java/design.xml/ExcessiveParameterList">
<properties>
<!--Ignore ExcessiveParameterList on ViewState classes -->
<property name="violationSuppressXPath" value="//ClassOrInterfaceDeclaration['*ViewState.java']"/>
</properties>
</rule>
Проблема в том, что это предотвратит все нарушения против ExcessiveParameterList
независимо от того, в каком классе. Что я делаю не так?
matches
для поддержки регулярных выражений. Вы можете написать пример так:./ancestor::ClassOrInterfaceDeclaration[matches(@Image, '^.*ViewState$')]
14.06.2019