public String getAsString(FacesContext ctx, UIComponent component, Object value) {

    if (value != null && !"".equals(value)) {

      BaseEntity entity = (BaseEntity) value;

      // adiciona item como atributo do componente
      this.addAttribute(component, entity);

      Object codigo = entity.getId();
      if (codigo != null) {
        return String.valueOf(codigo);
      }
    }

    return (String) value;
  }
 protected void addAttribute(UIComponent component, BaseEntity o) {
   String key = o.getId().toString(); // codigo da empresa como chave neste
   // caso
   this.getAttributesFrom(component).put(key, o);
 }