in empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java [310:379]
public void encodeBegin(FacesContext context)
throws IOException
{
// add label and input components when the view is loaded for the first time
super.encodeBegin(context);
// renderInfo
if (this.renderInfo==null)
this.renderInfo=helper.getControlRenderInfo();
// init
helper.encodeBegin();
this.control = helper.getInputControl();
boolean isCustomInput = isCustomInput();
// encodeBegin
if (renderInfo.CONTROL_TAG!=null)
{ // control wrapper tag
ResponseWriter writer = context.getResponseWriter();
writer.startElement(renderInfo.CONTROL_TAG, this);
// render id
helper.writeComponentId(writer, renderInfo.RENDER_AUTO_ID);
// style class
String controlClass = helper.getTagAttributeStringEx("controlClass");
String styleClass = helper.getControlContextStyleClass();
helper.writeStyleClass(writer, TagStyleClass.CONTROL.get(), controlClass, styleClass);
}
// LabelSeparatorComponent
if (this.encodeLabel)
{ // Create Label Separator Tag
ControlSeparatorComponent labelSepTag = null;
if (getChildCount() > 0)
labelSepTag = (ControlSeparatorComponent) getChildren().get(0);
if (labelSepTag == null)
{ try {
creatingComponents = true;
labelSepTag = new LabelSeparatorComponent();
getChildren().add(labelSepTag);
helper.resetComponentId(labelSepTag);
} finally {
creatingComponents = false;
}
}
// encode
labelSepTag.encodeAll(context);
}
// InputSeparatorComponent
if (!isCustomInput)
{ // Create Input Separator Tag
ControlSeparatorComponent inputSepTag = null;
if (getChildCount() > 1)
inputSepTag = (ControlSeparatorComponent) getChildren().get(1);
if (inputSepTag == null)
{ try {
creatingComponents = true;
inputSepTag = new InputSeparatorComponent();
getChildren().add(inputSepTag);
helper.resetComponentId(inputSepTag);
} finally {
creatingComponents = false;
}
}
// encode
inputSepTag.encodeAll(context);
}
// done
saveState();
}