private void addLabel(final FaceletContext faceletContext, final UIPanel panel, final Application application) {
final String uid = panel.getId() + "_tx_label";
if (checkForAlreadyCreated(panel, uid)) {
return;
}
final UILabel label = (UILabel) application.createComponent(UILabel.COMPONENT_TYPE);
label.setRendererType(RendererTypes.LABEL);
label.setId(uid);
label.getAttributes().put(Attributes.FOR, "@auto");
if (tipAttribute != null) {
if (tipAttribute.isLiteral()) {
panel.setTip(tipAttribute.getValue(faceletContext));
} else {
final ValueExpression expression = tipAttribute.getValueExpression(faceletContext, String.class);
panel.setValueExpression(Attributes.TIP, expression);
}
}
if (labelAttribute != null) {
if (labelAttribute.isLiteral()) {
label.setValue(labelAttribute.getValue(faceletContext));
} else {
final ValueExpression expression = labelAttribute.getValueExpression(faceletContext, String.class);
label.setValueExpression(Attributes.VALUE, expression);
}
}
if (accessKeyAttribute != null) {
if (accessKeyAttribute.isLiteral()) {
label.setAccessKey(accessKeyAttribute.getValue(faceletContext).charAt(0));
} else {
final ValueExpression expression = accessKeyAttribute.getValueExpression(faceletContext, String.class);
label.setValueExpression(Attributes.ACCESS_KEY, expression);
}
}
if (markupAttribute != null) {
if (markupAttribute.isLiteral()) {
label.setMarkup(Markup.valueOf(markupAttribute.getValue()));
} else {
final ValueExpression expression = markupAttribute.getValueExpression(faceletContext, Object.class);
label.setValueExpression(Attributes.MARKUP, expression);
}
}
panel.getChildren().add(label);
}