public static void decodeClientBehaviors()

in myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/util/Html5RendererUtils.java [355:391]


    public static void decodeClientBehaviors(FacesContext facesContext,
            UIComponent component)
    {
        if (component instanceof ClientBehaviorHolder)
        {
            ClientBehaviorHolder clientBehaviorHolder = (ClientBehaviorHolder) component;

            Map<String,List<ClientBehavior>> clientBehaviors =
                clientBehaviorHolder.getClientBehaviors();

            if (clientBehaviors != null && !clientBehaviors.isEmpty())
            {
                Map<String,String> paramMap = facesContext.getExternalContext().
                    getRequestParameterMap();

                String behaviorEventName = paramMap.get("javax.faces.behavior.event");

                if (behaviorEventName != null)
                {
                    List<ClientBehavior> clientBehaviorList = clientBehaviors.get(behaviorEventName);

                    if (clientBehaviorList != null && !clientBehaviorList.isEmpty())
                    {
                        String clientId = paramMap.get("javax.faces.source");

                        if (component.getClientId().equals(clientId))
                        {
                            for (ClientBehavior clientBehavior : clientBehaviorList)
                            {
                                clientBehavior.decode(facesContext, component);
                            }
                        }
                    }
                }
            }
        }
    }