package org.jboss.seam.pdf.ui; import javax.faces.context.*; import org.jboss.seam.pdf.ITextUtils; import com.lowagie.text.*; public class UIListItem extends ITextComponent { public static final String COMPONENT_TYPE = "org.jboss.seam.pdf.ui.UIListItem"; ListItem listItem; String alignment; Float indentationLeft; Float indentationRight; Integer listSymbol; public void setListSymbol(Integer listSymbol) { this.listSymbol = listSymbol; } public void setAlignment(String alignment) { this.alignment = alignment; } public void setIndentationLeft(Float indentationLeft) { this.indentationLeft = indentationLeft; } public void setIndentationRight(Float indentationRight) { this.indentationRight = indentationRight; } @Override public Object getITextObject() { return listItem; } @Override public void createITextObject(FacesContext context) { listItem = new ListItem(); // should listSymbol be a facet? listSymbol = (Integer) valueBinding(context, "listSymbol", listSymbol); if (listSymbol != null) { int symbol = listSymbol; Font font = getFont(); if (font == null) { listItem.setListSymbol(new Chunk((char) symbol)); } else { listItem.setListSymbol(new Chunk((char) symbol, font)); } } alignment = (String) valueBinding(context, "alignment", alignment); if (alignment != null) { listItem.setAlignment(ITextUtils.alignmentValue(alignment)); } indentationLeft = (Float) valueBinding(context, "indentationLeft", indentationLeft); if (indentationLeft != null) { listItem.setIndentationLeft(indentationLeft); } indentationRight = (Float) valueBinding(context, "indentationRight", indentationRight); if (indentationRight != null) { listItem.setIndentationRight(indentationRight); } } @Override public void removeITextObject() { listItem = null; } @Override public void handleAdd(Object o) { listItem.add(o); } }