package fi.otavanopisto.muikku.facelets;
import java.io.IOException;
import javax.faces.component.FacesComponent;
import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import fi.otavanopisto.muikku.widgets.WidgetSpaceSizingStrategy;
@FacesComponent ("fi.otavanopisto.muikku.facelet.WidgetSpace")
public class WidgetSpaceComponent extends UIComponentBase {
@Override
public boolean getRendersChildren() {
return true;
}
@Override
public void encodeBegin(FacesContext context) throws IOException {
if (getKeepEmpty() || (!isEmpty())) {
ResponseWriter writer = context.getResponseWriter();
writer.write("<div class=");
writer.write('"');
// if (getChildren().size() != 0)
writer.write("widgetSpace grid_");
// else
// writer.write("widgetSpace container_");
writer.write(String.valueOf( getSize() ));
if (getStyleClass() != null) {
writer.write(" ");
writer.write(getStyleClass());
}
writer.write('"');
writer.write(" data-name=");
writer.write('"');
writer.write(getName());
writer.write('"');
writer.write(">");
}
}
@Override
public void encodeEnd(FacesContext context) throws IOException {
if (getKeepEmpty() || (!isEmpty())) {
ResponseWriter writer = context.getResponseWriter();
writer.write("</div>");
}
}
@Override
public String getFamily() {
return getClass().getPackage().toString();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Boolean getKeepEmpty() {
return keepEmpty;
}
public void setKeepEmpty(Boolean keepEmpty) {
this.keepEmpty = keepEmpty;
}
public WidgetSpaceSizingStrategy getSizing() {
return sizing;
}
public void setSizing(WidgetSpaceSizingStrategy sizing) {
this.sizing = sizing;
}
public void setEmpty(boolean empty) {
this.empty = empty;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public boolean isEmpty() {
return empty;
}
public String getStyleClass() {
return styleClass;
}
public void setStyleClass(String styleClass) {
this.styleClass = styleClass;
}
private String styleClass;
private String name;
private Boolean keepEmpty;
private WidgetSpaceSizingStrategy sizing;
private int size = 0;
private boolean empty = true;
}