Interface IPLObject<IMPLTYPE extends IPLObject<IMPLTYPE>>

Type Parameters:
IMPLTYPE - Implementation type
All Superinterfaces:
com.helger.commons.traits.IGenericImplTrait<IMPLTYPE>, com.helger.commons.id.IHasID<String>, IPLVisitable
All Known Subinterfaces:
IPLBlockElement<IMPLTYPE>, IPLElement<IMPLTYPE>, IPLHasHorizontalAlignment<IMPLTYPE>, IPLHasVerticalAlignment<IMPLTYPE>, IPLInlineElement<IMPLTYPE>, IPLRenderableObject<IMPLTYPE>, IPLSplittableObject<IMPLTYPE,SPLITTYPE>
All Known Implementing Classes:
AbstractPLBlockElement, AbstractPLBox, AbstractPLElement, AbstractPLExternalLink, AbstractPLHBox, AbstractPLImage, AbstractPLInlineBox, AbstractPLInlineElement, AbstractPLObject, AbstractPLRenderableObject, AbstractPLText, AbstractPLVBox, PLBox, PLBulletPointList, PLExternalLink, PLHBox, PLImage, PLPageBreak, PLPageSet, PLSpacerX, PLSpacerY, PLStreamImage, PLTable, PLTableCell, PLTableRow, PLText, PLVBox

public interface IPLObject<IMPLTYPE extends IPLObject<IMPLTYPE>> extends com.helger.commons.id.IHasID<String>, com.helger.commons.traits.IGenericImplTrait<IMPLTYPE>, IPLVisitable
Base interface for a PDF layout object
Author:
Philip Helger
  • Method Details

    • hasID

      default boolean hasID(@Nullable String sID)
    • getDebugID

      @Nonnull @Nonempty String getDebugID()
      Returns:
      The debug ID of this element. Neither null nor empty. The debug ID is usually automatically created automatically from the ID.
    • isVertSplittable

      default boolean isVertSplittable()
      Returns:
      true if this element is splittable, false otherwise.
    • getAsSplittable

      @Nonnull default IPLSplittableObject<?,?> getAsSplittable()
      Returns:
      this as an IPLSplittableObject - ensure to call it only if isVertSplittable() returns true.
    • setBasicDataFrom

      For copying stuff internally. Must always call super method
      Parameters:
      aSource - Source object to copy from. May not be null.
      Returns:
      this for chaining