package org.jboss.seam.pdf.ui;
import javax.faces.context.*;
import com.lowagie.text.*;
public class UIParagraph extends ITextComponent
{
public static final String COMPONENT_TYPE = "org.jboss.seam.pdf.ui.UIParagraph";
Paragraph paragraph;
String alignment;
Float firstLineIndent;
Float extraParagraphSpace;
Float leading;
Float multipliedLeading;
Float spacingBefore;
Float spacingAfter;
Float indentationLeft;
Float indentationRight;
Boolean keepTogether;
public void setAlignment(String alignment)
{
this.alignment = alignment;
}
public void setFirstLineIndent(Float firstLineIndent)
{
this.firstLineIndent = firstLineIndent;
}
public void setExtraParagraphSpace(Float extraParagraphSpace)
{
this.extraParagraphSpace = extraParagraphSpace;
}
public void setLeading(Float leading)
{
this.leading = leading;
}
public void setMultipliedLeading(Float multipliedLeading)
{
this.multipliedLeading = multipliedLeading;
}
public void setSpacingBefore(Float spacingBefore)
{
this.spacingBefore = spacingBefore;
}
public void setSpacingAfter(Float spacingAfter)
{
this.spacingAfter = spacingAfter;
}
public void setIndentationLeft(Float indentationLeft)
{
this.indentationLeft = indentationLeft;
}
public void setIndentationRight(Float indentationRight)
{
this.indentationRight = indentationRight;
}
public void setKeepTogether(Boolean keepTogether)
{
this.keepTogether = keepTogether;
}
@Override
public Object getITextObject()
{
return paragraph;
}
@Override
public void removeITextObject()
{
paragraph = null;
}
@Override
public void createITextObject(FacesContext context)
{
Font font = getFont();
if (font == null)
{
paragraph = new Paragraph();
}
else
{
paragraph = new Paragraph("", font);
}
alignment = (String) valueBinding(context, "alignment", alignment);
if (alignment != null)
{
paragraph.setAlignment(alignment);
}
firstLineIndent = (Float) valueBinding(context, "firstLineIndent", firstLineIndent);
if (firstLineIndent != null)
{
paragraph.setFirstLineIndent(firstLineIndent);
}
extraParagraphSpace = (Float) valueBinding(context, "extraParagraphSpace", extraParagraphSpace);
if (extraParagraphSpace != null)
{
paragraph.setExtraParagraphSpace(extraParagraphSpace);
}
leading = (Float) valueBinding(context, "leading", leading);
multipliedLeading = (Float) valueBinding(context, "multipliedLeading", multipliedLeading);
if (leading != null)
{
if (multipliedLeading != null)
{
paragraph.setLeading(leading, multipliedLeading);
}
else
{
paragraph.setLeading(leading);
}
}
spacingBefore = (Float) valueBinding(context, "spacingBefore", spacingBefore);
if (spacingBefore != null)
{
paragraph.setSpacingBefore(spacingBefore);
}
spacingAfter = (Float) valueBinding(context, "spacingAfter", spacingAfter);
if (spacingAfter != null)
{
paragraph.setSpacingAfter(spacingAfter);
}
indentationLeft = (Float) valueBinding(context, "indentationLeft", indentationLeft);
if (indentationLeft != null)
{
paragraph.setIndentationLeft(indentationLeft);
}
indentationRight = (Float) valueBinding(context, "indentationRight", indentationRight);
if (indentationRight != null)
{
paragraph.setIndentationRight(indentationRight);
}
keepTogether = (Boolean) valueBinding(context, "keepTogether", keepTogether);
if (keepTogether != null)
{
paragraph.setKeepTogether(keepTogether);
}
}
@Override
public void handleAdd(Object o)
{
paragraph.add(o);
}
}