public void encodeEnd()

in myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/Html5BaseInputTextRenderer.java [49:95]


    public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws IOException
    {
        RendererUtils.checkParamValidity(facesContext, uiComponent, getComponentClass());

        Html5BaseInputText component = (Html5BaseInputText) uiComponent;

        // first, check whether we have behaviors, and render jsf.js if necessary
        Map<String, List<ClientBehavior>> behaviors = component.getClientBehaviors();
        if (!behaviors.isEmpty())
        {
            ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, facesContext.getResponseWriter());
        }

        // check suggestions
        SuggestionRendererHelper suggestionRendererHelper = getSuggestionRendererHelper(component);
        if (suggestionRendererHelper != null)
            suggestionRendererHelper.checkSuggestions(component);

        // are suggestions available?
        boolean shouldGenerateDatalist = false;

        if (suggestionRendererHelper != null)
        {
            shouldGenerateDatalist = suggestionRendererHelper.shouldGenerateDatalist(component);
            if (shouldGenerateDatalist)
            {
                String datalistId = facesContext.getViewRoot().createUniqueId();
                if (log.isLoggable(Level.FINE))
                    log.fine("datalist will be created with id '" + datalistId + "'");
                component.getAttributes().put(JsfProperties.DATALIST_PROP, datalistId);
            }
        }

        // render the input
        if (log.isLoggable(Level.FINE))
            log.fine("will render input");
        renderInput(facesContext, component);

        // render suggestions
        if (suggestionRendererHelper != null && shouldGenerateDatalist)
        {
            if (log.isLoggable(Level.FINE))
                log.fine("will render generated datalist");
            suggestionRendererHelper.renderDataList(facesContext, component);
        }

    }