boolean refreshIds = false;
if (getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)) {
setId(elements.getPropertyName(context));
refreshIds = true;
}
UIComponent label = elements.getLabel();
if (label != null) {
if (label.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)) {
label.setId(getDefaultLabelId());
} else if (refreshIds) {
label.setId(label.getId());
}
}
for (int i = 0, len = elements.getInputs().size(); i < len; i++) {
UIComponent input = (UIComponent) elements.getInputs().get(i);
if (input.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)) {
input.setId(getDefaultInputId() + (i == 0 ? "" : (i + 1)));
} else if (refreshIds) {
input.setId(input.getId());
}
}
for (int i = 0, len = elements.getMessages().size(); i < len; i++) {
UIComponent msg = elements.getMessages().get(i);
if (msg.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)) {
msg.setId(getDefaultMessageId() + (i == 0 ? "" : (i + 1)));
} else if (refreshIds) {
msg.setId(msg.getId());
}
}
}