Class ConverterTagHandlerDelegate

  • All Implemented Interfaces:
    AttachedObjectHandler, ValueHolderAttachedObjectHandler

    public class ConverterTagHandlerDelegate
    extends TagHandlerDelegate
    implements ValueHolderAttachedObjectHandler
    Handles setting a Converter instance on a ValueHolder. Will wire all attributes set to the Converter instance created/fetched. Uses the "binding" attribute for grabbing instances to apply attributes to.

    Will only set/create Converter is the passed UIComponent's parent is null, signifying that it wasn't restored from an existing tree.

    Since:
    2.0
    Version:
    $Revision$ $Date$
    Author:
    Leonardo Uribe (latest modification by $Author$)
    • Constructor Detail

      • ConverterTagHandlerDelegate

        public ConverterTagHandlerDelegate​(ConverterHandler delegate)
    • Method Detail

      • apply

        public void apply​(FaceletContext ctx,
                          UIComponent parent)
                   throws IOException
        Set Converter instance on parent ValueHolder if it's not being restored.
        1. Cast to ValueHolder
        2. If "binding" attribute was specified, fetch/create and re-bind to expression.
        3. Otherwise, call createConverter.
        4. Call setAttributes(FaceletContext, Object) on Converter instance.
        5. Set the Converter on the ValueHolder
        6. If the ValueHolder has a localValue, convert it and set the value
        See ValueHolder See Converter See #createConverter(FaceletContext) See jakarta.faces.view.facelets.FaceletHandler#apply(jakarta.faces.view.facelets.FaceletContext, jakarta.faces.component.UIComponent)
        Specified by:
        apply in class TagHandlerDelegate
        Throws:
        IOException
      • createConverter

        protected Converter createConverter​(FaceletContext ctx)
        Create a Converter instance
        Parameters:
        ctx - FaceletContext to use
        Returns:
        Converter instance, cannot be null