В стандартном JSF/PrimeFaces API такой вещи нет.
Quick'n'dirty обходной путь будет переопределение компонент регистрации в WebApp-х faces-config.xml
, в котором вы установите класс компонента к не- UIComponent
класса (он будет в конечном счете бросить ClassCastException
на использование), или обычая UIComponent
, который бросает например, IllegalArgumentException
в своем конструкторе.
E.g. если вы хотите, чтобы избежать использования <p:selectOneMenu>
component, который имеет component type of org.primefaces.component.SelectOneMenu
:
<component>
<component-type>org.primefaces.component.SelectOneMenu</component-type>
<component-class>java.lang.Object</component-class>
</component>
Альтернативой будет manually visit the component tree после того как она строится и проверить каждый класс компонента против белого/черного списка в Set<Class<UIComponent>>
.
Более чистая альтернатива будет override Application#createComponent()
, чтобы проверить тип компонента на белый/черный список.
Еще одной альтернативой могло бы стать редактирование XML-файла PrimeLaces/config XML для удаления нежелательных компонентов и восстановления JAR.
Возможно, git pre-commit hook для 'grep' или' awk'? Просто предложение - я этого не пробовал. – DavidS