Interface Textual

  • All Known Implementing Classes:
    AbstractTextual, Binary, CData, Comment, Text

    public interface Textual
    Represents an object that is mainly for storing "text". It is usually implemented by a class that also implements Item.

    A "text" is usually a string (e.g., Text, Comment and CDATA) but could be any object (e.g., Binary).

    The getText method of some parent, e.g., Element, concatenates the text of its children if they implement this interface and Textual.isPartOfParentText returns true.

    Note: the class that implement this interface must have a constructor with a single argument whose type is String. The split method will invoke it to create a new instance.

    Author:
    tomyeh
    See Also:
    Item
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isCoalesceable()
      Returns true if this textual object is allowed to be coalesced with its siblings with the same type (class).
      boolean isPartOfParentText()
      Returns true if this textual object is part of the parent's text.
      Textual split​(int offset)
      Splits at the specified offset into two Textual objects.
    • Method Detail

      • split

        Textual split​(int offset)
        Splits at the specified offset into two Textual objects. The new textual object is inserted right after this one.
        Returns:
        the new textual object; null if offset is no less than length
      • isPartOfParentText

        boolean isPartOfParentText()
        Returns true if this textual object is part of the parent's text. Currently, only Element.getText uses it.
      • isCoalesceable

        boolean isCoalesceable()
        Returns true if this textual object is allowed to be coalesced with its siblings with the same type (class). It is used by Group.coalesce.