JSF2.2, primefaces 4, omnifaces 1.8.11.
In a composite component, how to to declare and use a converter as an attribute which is optional (that is to say it could be not used). For a exemple
interface
<cc:attribute name="converter" required="false" default="" type="javax.faces.convert.Converter" />
...
implementation 1
----------------
<p:inputText value="#{cc.attrs.value}"
converter="#{cc.attrs.converter}" />
result
------
converter is not executed
implementation 2
----------------
<p:inputText value="#{cc.attrs.value}">
<f:converter converterId="#{cc.attrs.converter}" />
</p:inputText>
result
------
com.sun.faces.application.ApplicationImpl createConverter
SEVERE: JSF1006: Cannot instantiate converter of type
...
javax.faces.FacesException: Erreur d’expression : objet nommé «» non détecté
at com.sun.faces.application.ApplicationImpl.createConverter(...)
implementation 3
----------------
<p:inputText value="#{cc.attrs.value}">
<o:converter converterId="#{cc.attrs.converter}" />
</p:inputText>
result
------
same as f:converter
...
caller
<my:componentC value="#{customController.attribute}"
converter="#{customConverter}" />
<my:componentC value="#{customController.attribute}" />