Affects Version/s: 2.0
Fix Version/s: None
Operating System: All
There are currently nice interfaces, like ValueHolder and EditableValueHolder.
But this isn't enough.
The minimal contract of creating a (custom) JSF component is UIComponent.
It is not necessary to extend something like UIComponentBase or even UIInput,
which is good.
For instance for checking if a component is able to be validated, some do a
instanceof UIInput, which would fail in some cases (as in Trinidad). Luckily
enough, we have the EditableValueHolder interfaces, so checking against that is
I noticed a lot of issues in the past with UIForm, since there is not "Form"
interface for that. One of the issues, when making Tomahawk working with
Trinidad/ADF Faces was that the Trinidad/ADF Faces form isn't extending UIForm
(which isn't wrong). We ended up, using a String-based identifier (component
family) for ensuring the component (from Trinidad) is a form. With an interface
for Form (like for EditableValueHolder) there weren't a need for "checking Strings".
This is true for "table components" as well. A "table interface" would be nice.