com.lowagie.text.rtf

## Class RtfAddableElement

- java.lang.Object
- - com.lowagie.text.Chunk
  - - com.lowagie.text.rtf.RtfAddableElement

- All Implemented Interfaces:
    Element, RtfBasicElement, RtfElementInterface
  Direct Known Subclasses:
    RtfDirectContent, RtfShape, RtfShapePosition, RtfShapeProperty, RtfTab, RtfTabGroup

      public abstract class RtfAddableElement
      extends Chunk
      implements RtfBasicElement

  The RtfAddableElement is the superclass for all rtf specific elements that need to be added to an iText document. It is an extension of Chunk and it also implements RtfBasicElement. It is an abstract class thus it cannot be instantiated itself and has to be subclassed to be used.
  Version:
    $Id:RtfAddableElement.java 3126 2008-02-07 20:30:46Z hallm $
  Author:
    Mark Hall (Mark.Hall@mail.room3b.eu), Thomas Bickel (tmb99@inode.at)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected RtfDocument` | `doc` The RtfDocument this RtfAddableElement belongs to.
    `protected boolean` | `inHeader` Whether this RtfAddableElement is contained in a header.
    `protected boolean` | `inTable` Whether this RtfAddableElement is contained in a table.

    - ### Fields inherited from class com.lowagie.text.Chunk

      `ACTION, attributes, BACKGROUND, CHAR_SPACING, COLOR, content, ENCODING, font, GENERICTAG, HSCALE, HYPHENATION, IMAGE, LOCALDESTINATION, LOCALGOTO, NEWLINE, NEWPAGE, NEXTPAGE, OBJECT_REPLACEMENT_CHARACTER, PDFANNOTATION, REMOTEGOTO, SEPARATOR, SKEW, SPLITCHARACTER, SUBSUPSCRIPT, TAB, TEXTRENDERMODE, UNDERLINE`

    - ### Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement

      `CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR`

    - ### Fields inherited from interface com.lowagie.text.Element

      `ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RtfAddableElement()` Constructs a new RtfAddableElement.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `intToByteArray(int i)` Transforms an integer into its String representation and then returns the bytes of that string.
    `boolean` | `isEmpty()` RtfAddableElement subclasses are never assumed to be empty.
    `void` | `setInHeader(boolean inHeader)` Sets whether this RtfAddableElement is contained in a header/footer.
    `void` | `setInTable(boolean inTable)` Sets whether this RtfAddableElement is contained in a table.
    `void` | `setRtfDocument(RtfDocument doc)` Sets the RtfDocument this RtfAddableElement belongs to.
    `abstract void` | `writeContent(java.io.OutputStream out)` Writes the element content to the given output stream.

    - ### Methods inherited from class com.lowagie.text.Chunk

      `append, getAttributes, getCharacterSpacing, getChunks, getContent, getFont, getHorizontalScaling, getHyphenation, getImage, getTextRise, getWidthPoint, hasAttributes, isContent, isNestable, process, setAction, setAnchor, setAnchor, setAnnotation, setAttributes, setBackground, setBackground, setCharacterSpacing, setFont, setGenericTag, setHorizontalScaling, setHyphenation, setLocalDestination, setLocalGoto, setNewPage, setRemoteGoto, setRemoteGoto, setSkew, setSplitCharacter, setTextRenderMode, setTextRise, setUnderline, setUnderline, toString, type`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### doc

          protected RtfDocument doc

      The RtfDocument this RtfAddableElement belongs to.

    - #### inTable

          protected boolean inTable

      Whether this RtfAddableElement is contained in a table.

    - #### inHeader

          protected boolean inHeader

      Whether this RtfAddableElement is contained in a header.

  - ### Constructor Detail

    - #### RtfAddableElement

          public RtfAddableElement()

      Constructs a new RtfAddableElement. The Chunk content is set to an empty string and the font to the default Font().

  - ### Method Detail

    - #### writeContent

          public abstract void writeContent(java.io.OutputStream out)
                                     throws java.io.IOException

      Writes the element content to the given output stream.
      Specified by:
        `writeContent` in interface `RtfBasicElement`
      Parameters:
        `out` - The `OutputStream` to write the content to
      Throws:
        `java.io.IOException`

    - #### setRtfDocument

          public void setRtfDocument(RtfDocument doc)

      Sets the RtfDocument this RtfAddableElement belongs to.
      Specified by:
        `setRtfDocument` in interface `RtfBasicElement`
      Parameters:
        `doc` - The @link{com.lowagie.text.rtf.document.RtfDocument} this `RtfElement` belongs to

    - #### setInTable

          public void setInTable(boolean inTable)

      Sets whether this RtfAddableElement is contained in a table.
      Specified by:
        `setInTable` in interface `RtfBasicElement`
      Parameters:
        `inTable` - Whether this RtfBasicElement is in a table

    - #### setInHeader

          public void setInHeader(boolean inHeader)

      Sets whether this RtfAddableElement is contained in a header/footer.
      Specified by:
        `setInHeader` in interface `RtfBasicElement`
      Parameters:
        `inHeader` - Whether this RtfBasicElement is in a header

    - #### intToByteArray

          public byte[] intToByteArray(int i)

      Transforms an integer into its String representation and then returns the bytes of that string.
      Parameters:
        `i` - The integer to convert
      Returns:
        A byte array representing the integer

    - #### isEmpty

          public boolean isEmpty()

      RtfAddableElement subclasses are never assumed to be empty.
      Overrides:
        `isEmpty` in class `Chunk`
      Returns:
        `false` if the Chunk contains other characters than space.