Class Phrase

  • All Implemented Interfaces:
    Element, TextElementArray, Serializable, Cloneable, Iterable<Element>, Collection<Element>, List<Element>, RandomAccess
    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:
    Element, Chunk, Paragraph, Anchor, Serialized Form
    • Field Detail

      • 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 Detail

      • 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
    • Method Detail

      • 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
      • 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:
        Element.isContent()
      • 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:
        Element.isNestable()
      • 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
      • 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
      • 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