Class Phrase

All Implemented Interfaces:
Element, TextElementArray, Serializable, Cloneable, Iterable<Element>, Collection<Element>, List<Element>, RandomAccess, SequencedCollection<Element>
Direct Known Subclasses:
Anchor, Footnote, Paragraph

public class Phrase extends ArrayList<Element> implements TextElementArray
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 (explicitly 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.
    • hyphenation

      protected HyphenationEvent hyphenation
      Null, unless the Phrase has to be hyphenated.
      Since:
      2.1.2
  • Constructor Details

    • Phrase

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

      public Phrase(Phrase phrase)
      Copy constructor for Phrase.
      Parameters:
      phrase - an object of Phrase, that you want to create a new object from
    • 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

      private Phrase(boolean dummy)
      Constructs a Phrase that can be used in the static getInstance() method.
      Parameters:
      dummy - a dummy parameter
  • 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 - input
      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 - leading spaces
      string - input
      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 - leading spaces
      string - input
      font - font to be used
      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<Element> getChunks()
      Gets all the chunks in this element.
      Specified by:
      getChunks in interface Element
      Returns:
      an ArrayList
    • isContent

      public boolean isContent()
      Description copied from interface: Element
      Checks if this element is a content object. If not, it's a metadata object.
      Specified by:
      isContent in interface Element
      Returns:
      true if this is a 'content' element; false if this is a 'metadata' element
      Since:
      iText 2.0.8
      See Also:
    • isNestable

      public boolean isNestable()
      Description copied from interface: Element
      Checks if this element is nestable.
      Specified by:
      isNestable in interface Element
      Returns:
      true if this element can be nested inside other elements.
      Since:
      iText 2.0.8
      See Also:
    • add

      public void add(int index, Element element)
      Adds a Chunk, an Anchor or another Phrase to this Phrase.
      Specified by:
      add in interface List<Element>
      Overrides:
      add in class ArrayList<Element>
      Parameters:
      index - index at which the specified element is to be inserted
      element - 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(String o)
      Adds a Chunk, Anchor or another Phrase to this Phrase.
      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
    • add

      public boolean add(Element element)
      Description copied from interface: TextElementArray
      Adds an object to the TextElementArray.
      Specified by:
      add in interface Collection<Element>
      Specified by:
      add in interface List<Element>
      Specified by:
      add in interface TextElementArray
      Overrides:
      add in class ArrayList<Element>
      Parameters:
      element - an object that has to be added
      Returns:
      true if the addition succeeded; false otherwise
    • addAll

      public boolean addAll(Collection<? extends Element> collection)
      Adds a collection of Chunks to this Phrase.
      Specified by:
      addAll in interface Collection<Element>
      Specified by:
      addAll in interface List<Element>
      Overrides:
      addAll in class ArrayList<Element>
      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
    • addChunk

      protected 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
    • addSpecial

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

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

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

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

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

      public void setFont(Font font)
      Sets the main font of this phrase.
      Parameters:
      font - the new font
    • getContent

      public String getContent()
      Returns the content as a String object. This method differs from toString because toString will return an ArrayList with the toString value of the Chunks in this Phrase.
      Returns:
      an String
    • isEmpty

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

      public HyphenationEvent getHyphenation()
      Getter for the hyphenation settings.
      Returns:
      a HyphenationEvent
      Since:
      2.1.2
    • setHyphenation

      public void setHyphenation(HyphenationEvent hyphenation)
      Setter for the hyphenation.
      Parameters:
      hyphenation - a HyphenationEvent instance
      Since:
      2.1.2