Adicionando Atributos Personalizados ao Componente de AutoCompletar Primefaces no JSF

Eu perguntei sobre passar atributos em umpergunta diferente e descobri que eu poderia criar um renderizador personalizado para o<p:autocomplete> componente, mas o problema é meu renderizador personalizado seria usado para cada p: autocomplete no meu projeto (todo o site). Por isso, escolhi criar um componente personalizado que se estendeorg.primefaces.component.autocomplete.AutoComplete e adiciona os atributos necessários à caixa de texto.

Meu pensamento inicial foi adicionar um construtor, mas parece não funcionar porque o mapa de atributos é nulo neste momento:

<code>@FacesComponent("com.mycomponents.SiteSearch")
public class SiteSearch extends AutoComplete {

    public SiteSearch() {
        Map<String,Object> attrs = getAttributes();
        attrs.put("x-webkit-speech", null); 
        attrs.put("x-webkit-grammer", "builtin:search");
        attrs.put("onwebkitspeechchange", "this.form.submit();");
        attrs.put("placeholder", "Enter a Search Term");
    }   
}
</code>

Meu outro pensamento foi deixar este componente personalizado vazio (classe vazia) e, em seguida, especificar um renderizador personalizado que se estendeorg.primefaces.component.autocomplete.AutoCompleteRenderer e modifique os atributos lá.

Depois de tudo dito e feito, eu só preciso de uma maneira de manter esses atributos separados para essa caixa de texto, então apenas colocar um renderizador customizado no p: autoComplete não vai funcionar (a menos que eu possa usar renderType = attribute para este p: autoComplete?).

questionAnswers(1)

yourAnswerToTheQuestion