Class Phrase

  • All Implemented Interfaces:
    Element, MarkupAttributes, TextElementArray, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.List, java.util.RandomAccess
    Direct Known Subclasses:
    Anchor, Paragraph

    public class Phrase
    extends java.util.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:
    Element, Chunk, Paragraph, Anchor, Serialized Form
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        Phrase()
      Constructs a Phrase without specifying a leading.
      private Phrase​(boolean dummy)
      Constructs a Phrase that can be used in the static getInstance() method.
        Phrase​(float leading)
      Constructs a Phrase with a certain leading.
        Phrase​(float leading, Chunk chunk)
      Constructs a Phrase with a certain Chunk and a certain leading.
        Phrase​(float leading, java.lang.String string)
      Constructs a Phrase with a certain leading and a certain String.
        Phrase​(float leading, java.lang.String string, Font font)
      Constructs a Phrase with a certain leading, a certain String and a certain Font.
        Phrase​(Chunk chunk)
      Constructs a Phrase with a certain Chunk.
        Phrase​(java.lang.String string)
      Constructs a Phrase with a certain String.
        Phrase​(java.lang.String string, Font font)
      Constructs a Phrase with a certain String and a certain Font.
        Phrase​(java.util.Properties attributes)
      Returns a Phrase that has been constructed taking in account the value of some attributes.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(int index, java.lang.Object o)
      Adds a Chunk, an Anchor or another Phrase to this Phrase.
      boolean add​(java.lang.Object o)
      Adds a Chunk, Anchor or another Phrase to this Phrase.
      boolean addAll​(java.util.Collection collection)
      Adds a collection of Chunks to this Phrase.
      private boolean addChunk​(Chunk chunk)
      Adds a Chunk.
      protected void addSpecial​(java.lang.Object object)
      Adds a Object to the Paragraph.
      Font font()
      Gets the font of the first Chunk that appears in this Phrase.
      java.util.ArrayList getChunks()
      Gets all the chunks in this element.
      static Phrase getInstance​(int leading, java.lang.String string)
      Gets a special kind of Phrase that changes some characters into corresponding symbols.
      static Phrase getInstance​(int leading, java.lang.String string, Font font)
      Gets a special kind of Phrase that changes some characters into corresponding symbols.
      static Phrase getInstance​(java.lang.String string)
      Gets a special kind of Phrase that changes some characters into corresponding symbols.
      java.lang.String getMarkupAttribute​(java.lang.String name)
      Returns the value of the specified attribute.
      java.util.Set getMarkupAttributeNames()
      Returns a Set of String attribute names for the MarkupAttributes implementor.
      java.util.Properties getMarkupAttributes()
      Return a Properties-object containing all the markupAttributes.
      boolean isEmpty()
      Checks is this Phrase contains no or 1 empty Chunk.
      static boolean isTag​(java.lang.String tag)
      Checks if a given tag corresponds with this object.
      float leading()
      Gets the leading of this phrase.
      boolean leadingDefined()
      Checks you if the leading of this phrase is defined.
      boolean process​(ElementListener listener)
      Processes the element by adding it (or the different parts) to an ElementListener.
      void setLeading​(float leading)
      Sets the leading of this phrase.
      void setMarkupAttribute​(java.lang.String name, java.lang.String value)
      Sets the specified attribute.
      void setMarkupAttributes​(java.util.Properties markupAttributes)
      Sets the markupAttributes.
      int type()
      Gets the type of the text element.
      • Methods inherited from class java.util.ArrayList

        addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractCollection

        containsAll, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, stream, toArray
      • Methods inherited from interface com.gitlab.pdftk_java.com.lowagie.text.Element

        toString
      • Methods inherited from interface java.util.List

        containsAll
    • Field Detail

      • leading

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

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

        protected java.util.Properties markupAttributes
        Contains extra markupAttributes
    • Constructor Detail

      • 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​(java.lang.String string)
        Constructs a Phrase with a certain String.
        Parameters:
        string - a String
      • Phrase

        public Phrase​(java.lang.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,
                      java.lang.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,
                      java.lang.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​(java.util.Properties attributes)
        Returns a Phrase that has been constructed taking in account the value of some attributes.
        Parameters:
        attributes - Some attributes
    • Method Detail

      • getInstance

        public static final Phrase getInstance​(java.lang.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,
                                               java.lang.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,
                                               java.lang.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 java.util.ArrayList getChunks()
        Gets all the chunks in this element.
        Specified by:
        getChunks in interface Element
        Returns:
        an ArrayList
      • add

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

        public boolean add​(java.lang.Object o)
        Adds a Chunk, Anchor or another Phrase to this Phrase.
        Specified by:
        add in interface java.util.Collection
        Specified by:
        add in interface java.util.List
        Specified by:
        add in interface TextElementArray
        Overrides:
        add in class java.util.ArrayList
        Parameters:
        o - an object of type Chunk, Anchor or Phrase
        Returns:
        a boolean
        Throws:
        java.lang.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​(java.util.Collection collection)
        Adds a collection of Chunks to this Phrase.
        Specified by:
        addAll in interface java.util.Collection
        Specified by:
        addAll in interface java.util.List
        Overrides:
        addAll in class java.util.ArrayList
        Parameters:
        collection - a collection of Chunks, Anchors and Phrases.
        Returns:
        true if the action succeeded, false if not.
        Throws:
        java.lang.ClassCastException - when you try to add something that isn't a Chunk, Anchor or Phrase
      • addSpecial

        protected void addSpecial​(java.lang.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 java.util.Collection
        Specified by:
        isEmpty in interface java.util.List
        Overrides:
        isEmpty in class java.util.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​(java.lang.String tag)
        Checks if a given tag corresponds with this object.
        Parameters:
        tag - the given tag
        Returns:
        true if the tag corresponds