/** Returns a id unique within the facelet context. */ public String generateUniqueId() { String id; TagAttribute idAttr = tagConfig.getTag().getAttributes().get("id"); if (idAttr != null) { id = idAttr.getValue(context); } else { id = context.getFacesContext().getViewRoot().createUniqueId(); } return generateUniqueId(id); }
/** Returns a id unique within the facelet context using given id as base. */ @SuppressWarnings({"unchecked", "rawtypes"}) public String generateUniqueId(String base) { Map<String, Object> requestMap = context.getFacesContext().getExternalContext().getRequestMap(); Map<String, Integer> counters = (Map) requestMap.get(LAYOUT_ID_COUNTERS); if (counters == null) { counters = new HashMap<String, Integer>(); } String generatedId; Integer cnt = counters.get(base); if (cnt == null) { counters.put(base, new Integer(0)); generatedId = base; } else { int i = cnt.intValue() + 1; counters.put(base, new Integer(i)); generatedId = base + "_" + i; } requestMap.put(LAYOUT_ID_COUNTERS, counters); return generatedId; }
protected Validator createValidator(FaceletContext faceletsContext) { FacesContext facesContext = faceletsContext.getFacesContext(); Application application = facesContext.getApplication(); return application.createValidator(getValidatorId()); }