Interface ILargeElement

  • All Superinterfaces:
    IElement, IPropertyContainer
    All Known Implementing Classes:
    Table

    public interface ILargeElement
    extends IElement
    A ILargeElement is a layout element which may get added to indefinitely, making the object prohibitively large. In order to avoid consuming and holding on to undesirable amounts of resources, the contents of a ILargeElement can be flushed regularly by client code, e.g. at page boundaries or after a certain amount of additions.
    • Method Detail

      • isComplete

        boolean isComplete()
        Checks whether an element has already been marked as complete.
        Returns:
        the completion marker boolean
      • complete

        void complete()
        Indicates that all the desired content has been added to this large element.
      • flush

        void flush()
        Writes the newly added content to the document.
      • flushContent

        void flushContent()
        Writes to the output document the content which has just been added to it.

        This method is called automatically for the newly added ILargeElement to be immediately placed in the page contents after it is added to the Document, so it shouldn't be used in any other places.

      • setDocument

        void setDocument​(Document document)
        Sets the document this element is bound to. We cannot write a large element into several documents simultaneously because we would need more bulky interfaces for this feature. For now we went for simplicity.
        Parameters:
        document - the document