All Implemented Interfaces:
Element, MarkupAttributes, TextElementArray, Serializable, Cloneable, Iterable, Collection, List, RandomAccess
Direct Known Subclasses:
Anchor, Paragraph

public class Phrase extends ArrayList implements TextElementArray, MarkupAttributes
A Phrase is a series of Chunks.

A Phrase has a main Font, but some chunks within the phrase can have a Font that differs from the main Font. All the Chunks in a Phrase have the same leading.

Example:

 // When no parameters are passed, the default leading = 16
 Phrase phrase0 = new Phrase();
 Phrase phrase1 = new Phrase("this is a phrase");
 // In this example the leading is passed as a parameter
 Phrase phrase2 = new Phrase(16, "this is a phrase with leading 16");
 // When a Font is passed (explicitely or embedded in a chunk), the default leading = 1.5 * size of the font
 Phrase phrase3 = new Phrase("this is a phrase with a red, normal font Courier, size 12", FontFactory.getFont(FontFactory.COURIER, 12, Font.NORMAL, new Color(255, 0, 0)));
 Phrase phrase4 = new Phrase(new Chunk("this is a phrase"));
 Phrase phrase5 = new Phrase(18, new Chunk("this is a phrase", FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLD, new Color(255, 0, 0)));
 
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • leading

      protected float leading
      This is the leading of this phrase.
    • font

      protected Font font
      This is the font of this phrase.
    • markupAttributes

      protected Properties markupAttributes
      Contains extra markupAttributes
  • Constructor Details

    • Phrase

      private Phrase(boolean dummy)
      Constructs a Phrase that can be used in the static getInstance() method.
      Parameters:
      dummy - a dummy parameter
    • Phrase

      public Phrase()
      Constructs a Phrase without specifying a leading.
    • Phrase

      public Phrase(float leading)
      Constructs a Phrase with a certain leading.
      Parameters:
      leading - the leading
    • Phrase

      public Phrase(Chunk chunk)
      Constructs a Phrase with a certain Chunk.
      Parameters:
      chunk - a Chunk
    • Phrase

      public Phrase(float leading, Chunk chunk)
      Constructs a Phrase with a certain Chunk and a certain leading.
      Parameters:
      leading - the leading
      chunk - a Chunk
    • Phrase

      public Phrase(String string)
      Constructs a Phrase with a certain String.
      Parameters:
      string - a String
    • Phrase

      public Phrase(String string, Font font)
      Constructs a Phrase with a certain String and a certain Font.
      Parameters:
      string - a String
      font - a Font
    • Phrase

      public Phrase(float leading, String string)
      Constructs a Phrase with a certain leading and a certain String.
      Parameters:
      leading - the leading
      string - a String
    • Phrase

      public Phrase(float leading, String string, Font font)
      Constructs a Phrase with a certain leading, a certain String and a certain Font.
      Parameters:
      leading - the leading
      string - a String
      font - a Font
    • Phrase

      public Phrase(Properties attributes)
      Returns a Phrase that has been constructed taking in account the value of some attributes.
      Parameters:
      attributes - Some attributes
  • Method Details

    • getInstance

      public static final Phrase getInstance(String string)
      Gets a special kind of Phrase that changes some characters into corresponding symbols.
      Parameters:
      string -
      Returns:
      a newly constructed Phrase
    • getInstance

      public static final Phrase getInstance(int leading, String string)
      Gets a special kind of Phrase that changes some characters into corresponding symbols.
      Parameters:
      leading -
      string -
      Returns:
      a newly constructed Phrase
    • getInstance

      public static final Phrase getInstance(int leading, String string, Font font)
      Gets a special kind of Phrase that changes some characters into corresponding symbols.
      Parameters:
      leading -
      string -
      font -
      Returns:
      a newly constructed Phrase
    • process

      public boolean process(ElementListener listener)
      Processes the element by adding it (or the different parts) to an ElementListener.
      Specified by:
      process in interface Element
      Parameters:
      listener - an ElementListener
      Returns:
      true if the element was processed successfully
    • type

      public int type()
      Gets the type of the text element.
      Specified by:
      type in interface Element
      Returns:
      a type
    • getChunks

      public ArrayList getChunks()
      Gets all the chunks in this element.
      Specified by:
      getChunks in interface Element
      Returns:
      an ArrayList
    • add

      public void add(int index, Object o)
      Adds a Chunk, an Anchor or another Phrase to this Phrase.
      Specified by:
      add in interface List
      Overrides:
      add in class ArrayList
      Parameters:
      index - index at which the specified element is to be inserted
      o - an object of type Chunk, Anchor or Phrase
      Throws:
      ClassCastException - when you try to add something that isn't a Chunk, Anchor or Phrase
    • add

      public boolean add(Object o)
      Adds a Chunk, Anchor or another Phrase to this Phrase.
      Specified by:
      add in interface Collection
      Specified by:
      add in interface List
      Specified by:
      add in interface TextElementArray
      Overrides:
      add in class ArrayList
      Parameters:
      o - an object of type Chunk, Anchor or Phrase
      Returns:
      a boolean
      Throws:
      ClassCastException - when you try to add something that isn't a Chunk, Anchor or Phrase
    • addChunk

      private boolean addChunk(Chunk chunk)
      Adds a Chunk.

      This method is a hack to solve a problem I had with phrases that were split between chunks in the wrong place.

      Parameters:
      chunk - a Chunk to add to the Phrase
      Returns:
      true if adding the Chunk succeeded
    • addAll

      public boolean addAll(Collection collection)
      Adds a collection of Chunks to this Phrase.
      Specified by:
      addAll in interface Collection
      Specified by:
      addAll in interface List
      Overrides:
      addAll in class ArrayList
      Parameters:
      collection - a collection of Chunks, Anchors and Phrases.
      Returns:
      true if the action succeeded, false if not.
      Throws:
      ClassCastException - when you try to add something that isn't a Chunk, Anchor or Phrase
    • addSpecial

      protected void addSpecial(Object object)
      Adds a Object to the Paragraph.
      Parameters:
      object - the object to add.
    • setLeading

      public void setLeading(float leading)
      Sets the leading of this phrase.
      Parameters:
      leading - the new leading
    • isEmpty

      public boolean isEmpty()
      Checks is this Phrase contains no or 1 empty Chunk.
      Specified by:
      isEmpty in interface Collection
      Specified by:
      isEmpty in interface List
      Overrides:
      isEmpty in class ArrayList
      Returns:
      false if the Phrase contains more than one or more non-emptyChunks.
    • leadingDefined

      public boolean leadingDefined()
      Checks you if the leading of this phrase is defined.
      Returns:
      true if the leading is defined
    • leading

      public float leading()
      Gets the leading of this phrase.
      Returns:
      the linespacing
    • font

      public Font font()
      Gets the font of the first Chunk that appears in this Phrase.
      Returns:
      a Font
    • isTag

      public static boolean isTag(String tag)
      Checks if a given tag corresponds with this object.
      Parameters:
      tag - the given tag
      Returns:
      true if the tag corresponds
    • setMarkupAttribute

      public void setMarkupAttribute(String name, String value)
      Description copied from interface: MarkupAttributes
      Sets the specified attribute.
      Specified by:
      setMarkupAttribute in interface MarkupAttributes
      Parameters:
      name - String attribute name.
      value - String attribute value.
      See Also:
    • setMarkupAttributes

      public void setMarkupAttributes(Properties markupAttributes)
      Description copied from interface: MarkupAttributes
      Sets the markupAttributes.
      Specified by:
      setMarkupAttributes in interface MarkupAttributes
      Parameters:
      markupAttributes - a Properties-object containing markupattributes
      See Also:
    • getMarkupAttribute

      public String getMarkupAttribute(String name)
      Description copied from interface: MarkupAttributes
      Returns the value of the specified attribute.
      Specified by:
      getMarkupAttribute in interface MarkupAttributes
      Parameters:
      name - String attribute name.
      Returns:
      String.
      See Also:
    • getMarkupAttributeNames

      public Set getMarkupAttributeNames()
      Description copied from interface: MarkupAttributes
      Returns a Set of String attribute names for the MarkupAttributes implementor.
      Specified by:
      getMarkupAttributeNames in interface MarkupAttributes
      Returns:
      Set.
      See Also:
    • getMarkupAttributes

      public Properties getMarkupAttributes()
      Description copied from interface: MarkupAttributes
      Return a Properties-object containing all the markupAttributes.
      Specified by:
      getMarkupAttributes in interface MarkupAttributes
      Returns:
      Properties
      See Also: