com.lowagie.text.rtf.style
Class RtfParagraphStyle

java.lang.Object
  extended by com.lowagie.text.Font
      extended by com.lowagie.text.rtf.style.RtfFont
          extended by com.lowagie.text.rtf.style.RtfParagraphStyle
All Implemented Interfaces:
RtfBasicElement, RtfExtendedElement, RtfElementInterface, Comparable

public class RtfParagraphStyle
extends RtfFont

The RtfParagraphStyle stores all style/formatting attributes of a RtfParagraph. Additionally it also supports the style name system available in RTF. The RtfParagraphStyle is a Font and can thus be used as such. To use the stylesheet functionality it needs to be set as the font of a Paragraph. Otherwise it will work like a RtfFont. It also supports inheritance of styles.

Version:
$Id: RtfParagraphStyle.java 3580 2008-08-06 15:52:00Z howard_s $
Author:
Mark Hall (Mark.Hall@mail.room3b.eu), Thomas Bickel (tmb99@inode.at)

Field Summary
static byte[] ALIGN_CENTER
          Constant for center alignment
static byte[] ALIGN_JUSTIFY
          Constant for justified alignment
static byte[] ALIGN_LEFT
          Constant for left alignment
static byte[] ALIGN_RIGHT
          Constant for right alignment
private  int alignment
          The alignment of the paragraph.
private  String basedOnName
          The name of the RtfParagraphStyle this RtfParagraphStyle is based on.
private  RtfParagraphStyle baseStyle
          The RtfParagraphStyle this RtfParagraphStyle is based on.
static byte[] FIRST_LINE_INDENT
          Constant for the first line indentation
private  int firstLineIndent
          The indentation for the first line
static byte[] INDENT_LEFT
          Constant for left indentation
static byte[] INDENT_RIGHT
          Constant for right indentation
private  int indentLeft
          The left indentation of the paragraph.
private  int indentRight
          The right indentation of the paragraph.
static byte[] KEEP_TOGETHER
          Constant for keeping the paragraph together on one page
static byte[] KEEP_TOGETHER_WITH_NEXT
          Constant for keeping the paragraph together with the next one on one page
private  boolean keepTogether
          Whether this RtfParagraph must stay on one page.
private  boolean keepTogetherWithNext
          Whether this RtfParagraph must stay on the same page as the next paragraph.
private  int lineLeading
          The line leading of the paragraph.
private  int modified
          Which properties have been modified when compared to the base style.
private static int MODIFIED_ALIGNMENT
          The alignment has been modified.
private static int MODIFIED_FONT_COLOR
          The font color has been modified.
private static int MODIFIED_FONT_NAME
          The font name has been modified.
private static int MODIFIED_FONT_SIZE
          The font style has been modified.
private static int MODIFIED_FONT_STYLE
          The font size has been modified.
private static int MODIFIED_INDENT_LEFT
          The left indentation has been modified.
private static int MODIFIED_INDENT_RIGHT
          The right indentation has been modified.
private static int MODIFIED_KEEP_TOGETHER
          The paragraph keep together setting has been modified.
private static int MODIFIED_KEEP_TOGETHER_WITH_NEXT
          The paragraph keep together with next setting has been modified.
private static int MODIFIED_LINE_LEADING
          The line leading has been modified.
private static int MODIFIED_NONE
          No modification has taken place when compared to the RtfParagraphStyle this RtfParagraphStyle is based on.
private static int MODIFIED_SPACING_AFTER
          The spacing after a paragraph has been modified.
private static int MODIFIED_SPACING_BEFORE
          The spacing before a paragraph has been modified.
static byte[] SPACING_AFTER
          Constant for the space after the paragraph.
static byte[] SPACING_BEFORE
          Constant for the space before the paragraph.
private  int spacingAfter
          The spacing after a paragraph.
private  int spacingBefore
          The spacing before a paragraph.
static RtfParagraphStyle STYLE_HEADING_1
          The style for level 1 headings.
static RtfParagraphStyle STYLE_HEADING_2
          The style for level 2 headings.
static RtfParagraphStyle STYLE_HEADING_3
          The style for level 3 headings.
static RtfParagraphStyle STYLE_NORMAL
          The NORMAL/STANDARD style.
private  String styleName
          The name of this RtfParagraphStyle.
private  int styleNumber
          The number of this RtfParagraphStyle in the stylesheet list.
 
Fields inherited from class com.lowagie.text.rtf.style.RtfFont
DEFAULT_FONT, document, FONT_SIZE, STYLE_BOLD, STYLE_DOUBLE_STRIKETHROUGH, STYLE_EMBOSSED, STYLE_ENGRAVED, STYLE_HIDDEN, STYLE_ITALIC, STYLE_NONE, STYLE_OUTLINE, STYLE_SHADOW, STYLE_STRIKETHROUGH, STYLE_UNDERLINE
 
Fields inherited from class com.lowagie.text.Font
BOLD, BOLDITALIC, COURIER, DEFAULTSIZE, HELVETICA, ITALIC, NORMAL, STRIKETHRU, SYMBOL, TIMES_ROMAN, UNDEFINED, UNDERLINE, ZAPFDINGBATS
 
Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement
CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR
 
Constructor Summary
RtfParagraphStyle(RtfDocument doc, RtfParagraphStyle style)
          Constructs a RtfParagraphStyle from another RtfParagraphStyle.
RtfParagraphStyle(String styleName, String basedOnName)
          Constructs a new RtfParagraphStyle that is based on an existing RtfParagraphStyle.
RtfParagraphStyle(String styleName, String fontName, int fontSize, int fontStyle, Color fontColor)
          Constructs a new RtfParagraphStyle with the given attributes.
 
Method Summary
 boolean equals(Object o)
          Tests whether two RtfParagraphStyles are equal.
 int getAlignment()
          Gets the alignment of this RtfParagraphStyle.
 String getBasedOnName()
          Gets the name of the RtfParagraphStyle this RtfParagraphStyle is based on.
 int getFirstLineIndent()
          Gets the first line indentation of this RtfParagraphStyle.
 int getIndentLeft()
          Gets the left indentation of this RtfParagraphStyle.
 int getIndentRight()
          Gets the right indentation of this RtfParagraphStyle.
 boolean getKeepTogether()
          Gets whether the lines in the paragraph should be kept together in this RtfParagraphStyle.
 boolean getKeepTogetherWithNext()
          Gets whether the paragraph should be kept together with the next in this RtfParagraphStyle.
 int getLineLeading()
          Gets the line leading of this RtfParagraphStyle.
 int getSpacingAfter()
          Gets the space after the paragraph of this RtfParagraphStyle.
 int getSpacingBefore()
          Gets the space before the paragraph of this RtfParagraphStyle..
 String getStyleName()
          Gets the name of this RtfParagraphStyle.
private  int getStyleNumber()
          Gets the number of this RtfParagraphStyle in the stylesheet list.
 void handleInheritance()
          Handles the inheritance of paragraph style settings.
 int hashCode()
          Gets the hash code of this RtfParagraphStyle.
 void setAlignment(int alignment)
          Sets the alignment of this RtfParagraphStyle.
 void setColor(Color color)
          Sets the color of this RtfParagraphStyle.
 void setFirstLineIndent(int firstLineIndent)
          Sets the first line indentation of this RtfParagraphStyle.
 void setFontName(String fontName)
          Sets the font name of this RtfParagraphStyle.
 void setIndentLeft(int indentLeft)
          Sets the left indentation of this RtfParagraphStyle.
 void setIndentRight(int indentRight)
          Sets the right indentation of this RtfParagraphStyle.
 void setKeepTogether(boolean keepTogether)
          Sets whether the lines in the paragraph should be kept together in this RtfParagraphStyle.
 void setKeepTogetherWithNext(boolean keepTogetherWithNext)
          Sets whether the paragraph should be kept together with the next in this RtfParagraphStyle.
 void setLineLeading(int lineLeading)
          Sets the line leading of this RtfParagraphStyle.
 void setSize(float fontSize)
          Sets the font size of this RtfParagraphStyle.
 void setSpacingAfter(int spacingAfter)
          Sets the space after the paragraph of this RtfParagraphStyle.
 void setSpacingBefore(int spacingBefore)
          Sets the space before the paragraph of this RtfParagraphStyle.
 void setStyle(int fontStyle)
          Sets the font style of this RtfParagraphStyle.
protected  void setStyleNumber(int styleNumber)
          Sets the number of this RtfParagraphStyle in the stylesheet list.
 void writeBegin(OutputStream result)
          Writes the start information of this RtfParagraphStyle.
 void writeContent(OutputStream out)
          unused
 void writeDefinition(OutputStream result)
          Writes the definition of this RtfParagraphStyle for the stylesheet list.
 void writeEnd(OutputStream result)
          Unused
private  void writeParagraphSettings(OutputStream result)
          Writes the settings of this RtfParagraphStyle.
 
Methods inherited from class com.lowagie.text.rtf.style.RtfFont
compareTo, difference, getCharset, getFamilyname, getFontName, getFontNumber, getFontSize, getFontStyle, intToByteArray, isStandardFont, setCharset, setColor, setFamily, setInHeader, setInTable, setRtfDocument, setStyle
 
Methods inherited from class com.lowagie.text.Font
getBaseFont, getCalculatedBaseFont, getCalculatedLeading, getCalculatedSize, getCalculatedStyle, getColor, getFamily, getFamilyIndex, getSize, getStyle, getStyleValue, isBold, isItalic, isStrikethru, isUnderlined
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALIGN_LEFT

public static final byte[] ALIGN_LEFT
Constant for left alignment


ALIGN_RIGHT

public static final byte[] ALIGN_RIGHT
Constant for right alignment


ALIGN_CENTER

public static final byte[] ALIGN_CENTER
Constant for center alignment


ALIGN_JUSTIFY

public static final byte[] ALIGN_JUSTIFY
Constant for justified alignment


FIRST_LINE_INDENT

public static final byte[] FIRST_LINE_INDENT
Constant for the first line indentation


INDENT_LEFT

public static final byte[] INDENT_LEFT
Constant for left indentation


INDENT_RIGHT

public static final byte[] INDENT_RIGHT
Constant for right indentation


KEEP_TOGETHER

public static final byte[] KEEP_TOGETHER
Constant for keeping the paragraph together on one page


KEEP_TOGETHER_WITH_NEXT

public static final byte[] KEEP_TOGETHER_WITH_NEXT
Constant for keeping the paragraph together with the next one on one page


SPACING_AFTER

public static final byte[] SPACING_AFTER
Constant for the space after the paragraph.


SPACING_BEFORE

public static final byte[] SPACING_BEFORE
Constant for the space before the paragraph.


STYLE_NORMAL

public static final RtfParagraphStyle STYLE_NORMAL
The NORMAL/STANDARD style.


STYLE_HEADING_1

public static final RtfParagraphStyle STYLE_HEADING_1
The style for level 1 headings.


STYLE_HEADING_2

public static final RtfParagraphStyle STYLE_HEADING_2
The style for level 2 headings.


STYLE_HEADING_3

public static final RtfParagraphStyle STYLE_HEADING_3
The style for level 3 headings.


MODIFIED_NONE

private static final int MODIFIED_NONE
No modification has taken place when compared to the RtfParagraphStyle this RtfParagraphStyle is based on. These modification markers are used to determine what needs to be inherited and what not from the parent RtfParagraphStyle.

See Also:
Constant Field Values

MODIFIED_ALIGNMENT

private static final int MODIFIED_ALIGNMENT
The alignment has been modified.

See Also:
Constant Field Values

MODIFIED_INDENT_LEFT

private static final int MODIFIED_INDENT_LEFT
The left indentation has been modified.

See Also:
Constant Field Values

MODIFIED_INDENT_RIGHT

private static final int MODIFIED_INDENT_RIGHT
The right indentation has been modified.

See Also:
Constant Field Values

MODIFIED_SPACING_BEFORE

private static final int MODIFIED_SPACING_BEFORE
The spacing before a paragraph has been modified.

See Also:
Constant Field Values

MODIFIED_SPACING_AFTER

private static final int MODIFIED_SPACING_AFTER
The spacing after a paragraph has been modified.

See Also:
Constant Field Values

MODIFIED_FONT_NAME

private static final int MODIFIED_FONT_NAME
The font name has been modified.

See Also:
Constant Field Values

MODIFIED_FONT_SIZE

private static final int MODIFIED_FONT_SIZE
The font style has been modified.

See Also:
Constant Field Values

MODIFIED_FONT_STYLE

private static final int MODIFIED_FONT_STYLE
The font size has been modified.

See Also:
Constant Field Values

MODIFIED_FONT_COLOR

private static final int MODIFIED_FONT_COLOR
The font color has been modified.

See Also:
Constant Field Values

MODIFIED_LINE_LEADING

private static final int MODIFIED_LINE_LEADING
The line leading has been modified.

See Also:
Constant Field Values

MODIFIED_KEEP_TOGETHER

private static final int MODIFIED_KEEP_TOGETHER
The paragraph keep together setting has been modified.

See Also:
Constant Field Values

MODIFIED_KEEP_TOGETHER_WITH_NEXT

private static final int MODIFIED_KEEP_TOGETHER_WITH_NEXT
The paragraph keep together with next setting has been modified.

See Also:
Constant Field Values

alignment

private int alignment
The alignment of the paragraph.


firstLineIndent

private int firstLineIndent
The indentation for the first line


indentLeft

private int indentLeft
The left indentation of the paragraph.


indentRight

private int indentRight
The right indentation of the paragraph.


spacingBefore

private int spacingBefore
The spacing before a paragraph.


spacingAfter

private int spacingAfter
The spacing after a paragraph.


lineLeading

private int lineLeading
The line leading of the paragraph.


keepTogether

private boolean keepTogether
Whether this RtfParagraph must stay on one page.


keepTogetherWithNext

private boolean keepTogetherWithNext
Whether this RtfParagraph must stay on the same page as the next paragraph.


styleName

private String styleName
The name of this RtfParagraphStyle.


basedOnName

private String basedOnName
The name of the RtfParagraphStyle this RtfParagraphStyle is based on.


baseStyle

private RtfParagraphStyle baseStyle
The RtfParagraphStyle this RtfParagraphStyle is based on.


modified

private int modified
Which properties have been modified when compared to the base style.


styleNumber

private int styleNumber
The number of this RtfParagraphStyle in the stylesheet list.

Constructor Detail

RtfParagraphStyle

public RtfParagraphStyle(String styleName,
                         String fontName,
                         int fontSize,
                         int fontStyle,
                         Color fontColor)
Constructs a new RtfParagraphStyle with the given attributes.

Parameters:
styleName - The name of this RtfParagraphStyle.
fontName - The name of the font to use for this RtfParagraphStyle.
fontSize - The size of the font to use for this RtfParagraphStyle.
fontStyle - The style of the font to use for this RtfParagraphStyle.
fontColor - The color of the font to use for this RtfParagraphStyle.

RtfParagraphStyle

public RtfParagraphStyle(String styleName,
                         String basedOnName)
Constructs a new RtfParagraphStyle that is based on an existing RtfParagraphStyle.

Parameters:
styleName - The name of this RtfParagraphStyle.
basedOnName - The name of the RtfParagraphStyle this RtfParagraphStyle is based on.

RtfParagraphStyle

public RtfParagraphStyle(RtfDocument doc,
                         RtfParagraphStyle style)
Constructs a RtfParagraphStyle from another RtfParagraphStyle. INTERNAL USE ONLY

Parameters:
doc - The RtfDocument this RtfParagraphStyle belongs to.
style - The RtfParagraphStyle to copy settings from.
Method Detail

getStyleName

public String getStyleName()
Gets the name of this RtfParagraphStyle.

Returns:
The name of this RtfParagraphStyle.

getBasedOnName

public String getBasedOnName()
Gets the name of the RtfParagraphStyle this RtfParagraphStyle is based on.

Returns:
The name of the base RtfParagraphStyle.

getAlignment

public int getAlignment()
Gets the alignment of this RtfParagraphStyle.

Returns:
The alignment of this RtfParagraphStyle.

setAlignment

public void setAlignment(int alignment)
Sets the alignment of this RtfParagraphStyle.

Parameters:
alignment - The alignment to use.

getFirstLineIndent

public int getFirstLineIndent()
Gets the first line indentation of this RtfParagraphStyle.

Returns:
The first line indentation of this RtfParagraphStyle.

setFirstLineIndent

public void setFirstLineIndent(int firstLineIndent)
Sets the first line indentation of this RtfParagraphStyle. It is relative to the left indentation.

Parameters:
firstLineIndent - The first line indentation to use.

getIndentLeft

public int getIndentLeft()
Gets the left indentation of this RtfParagraphStyle.

Returns:
The left indentation of this RtfParagraphStyle.

setIndentLeft

public void setIndentLeft(int indentLeft)
Sets the left indentation of this RtfParagraphStyle.

Parameters:
indentLeft - The left indentation to use.

getIndentRight

public int getIndentRight()
Gets the right indentation of this RtfParagraphStyle.

Returns:
The right indentation of this RtfParagraphStyle.

setIndentRight

public void setIndentRight(int indentRight)
Sets the right indentation of this RtfParagraphStyle.

Parameters:
indentRight - The right indentation to use.

getSpacingBefore

public int getSpacingBefore()
Gets the space before the paragraph of this RtfParagraphStyle..

Returns:
The space before the paragraph.

setSpacingBefore

public void setSpacingBefore(int spacingBefore)
Sets the space before the paragraph of this RtfParagraphStyle.

Parameters:
spacingBefore - The space before to use.

getSpacingAfter

public int getSpacingAfter()
Gets the space after the paragraph of this RtfParagraphStyle.

Returns:
The space after the paragraph.

setSpacingAfter

public void setSpacingAfter(int spacingAfter)
Sets the space after the paragraph of this RtfParagraphStyle.

Parameters:
spacingAfter - The space after to use.

setFontName

public void setFontName(String fontName)
Sets the font name of this RtfParagraphStyle.

Overrides:
setFontName in class RtfFont
Parameters:
fontName - The font name to use

setSize

public void setSize(float fontSize)
Sets the font size of this RtfParagraphStyle.

Overrides:
setSize in class RtfFont
Parameters:
fontSize - The font size to use.
See Also:
Font.setSize(float)

setStyle

public void setStyle(int fontStyle)
Sets the font style of this RtfParagraphStyle.

Overrides:
setStyle in class RtfFont
Parameters:
fontStyle - The font style to use.
See Also:
Font.setStyle(int)

setColor

public void setColor(Color color)
Sets the color of this RtfParagraphStyle.

Overrides:
setColor in class RtfFont
Parameters:
color - The Color to use.
See Also:
Font.setColor(Color)

getLineLeading

public int getLineLeading()
Gets the line leading of this RtfParagraphStyle.

Returns:
The line leading of this RtfParagraphStyle.

setLineLeading

public void setLineLeading(int lineLeading)
Sets the line leading of this RtfParagraphStyle.

Parameters:
lineLeading - The line leading to use.

getKeepTogether

public boolean getKeepTogether()
Gets whether the lines in the paragraph should be kept together in this RtfParagraphStyle.

Returns:
Whether the lines in the paragraph should be kept together.

setKeepTogether

public void setKeepTogether(boolean keepTogether)
Sets whether the lines in the paragraph should be kept together in this RtfParagraphStyle.

Parameters:
keepTogether - Whether the lines in the paragraph should be kept together.

getKeepTogetherWithNext

public boolean getKeepTogetherWithNext()
Gets whether the paragraph should be kept together with the next in this RtfParagraphStyle.

Returns:
Whether the paragraph should be kept together with the next.

setKeepTogetherWithNext

public void setKeepTogetherWithNext(boolean keepTogetherWithNext)
Sets whether the paragraph should be kept together with the next in this RtfParagraphStyle.

Parameters:
keepTogetherWithNext - Whether the paragraph should be kept together with the next.

handleInheritance

public void handleInheritance()
Handles the inheritance of paragraph style settings. All settings that have not been modified will be inherited from the base RtfParagraphStyle. If this RtfParagraphStyle is not based on another one, then nothing happens.


writeParagraphSettings

private void writeParagraphSettings(OutputStream result)
                             throws IOException
Writes the settings of this RtfParagraphStyle.

Parameters:
result - The OutputStream to write to.
Throws:
IOException - On i/o errors.

writeDefinition

public void writeDefinition(OutputStream result)
                     throws IOException
Writes the definition of this RtfParagraphStyle for the stylesheet list.

Specified by:
writeDefinition in interface RtfExtendedElement
Overrides:
writeDefinition in class RtfFont
Parameters:
result - The OutputStream to write the element definition to
Throws:
IOException

writeBegin

public void writeBegin(OutputStream result)
                throws IOException
Writes the start information of this RtfParagraphStyle.

Overrides:
writeBegin in class RtfFont
Parameters:
result - The OutputStream to write to.
Throws:
IOException - On i/o errors.

writeEnd

public void writeEnd(OutputStream result)
              throws IOException
Unused

Overrides:
writeEnd in class RtfFont
Parameters:
result - The OutputStream that nothing is written to
Throws:
IOException - On i/o errors.

writeContent

public void writeContent(OutputStream out)
                  throws IOException
unused

Specified by:
writeContent in interface RtfBasicElement
Overrides:
writeContent in class RtfFont
Parameters:
out - The OutputStream to write the content to
Throws:
IOException

equals

public boolean equals(Object o)
Tests whether two RtfParagraphStyles are equal. Equality is determined via the name.

Overrides:
equals in class RtfFont
Parameters:
o - The RtfFont to compare with this RtfFont
Returns:
True if the RtfFonts are equal, false otherwise

hashCode

public int hashCode()
Gets the hash code of this RtfParagraphStyle.

Overrides:
hashCode in class RtfFont
Returns:
The hash code of this RtfFont

getStyleNumber

private int getStyleNumber()
Gets the number of this RtfParagraphStyle in the stylesheet list.

Returns:
The number of this RtfParagraphStyle in the stylesheet list.

setStyleNumber

protected void setStyleNumber(int styleNumber)
Sets the number of this RtfParagraphStyle in the stylesheet list.

Parameters:
styleNumber - The number to use.

Hosted by Hostbasket