com.helger.pdflayout.base.IPLObject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ph-pdf-layout Show documentation
Show all versions of ph-pdf-layout Show documentation
Library for creating nicely layouted PDF documents based on PDFBox
package com.helger.pdflayout.base;
import javax.annotation.Nonnull;
import com.helger.commons.annotation.Nonempty;
import com.helger.commons.id.IHasID;
import com.helger.commons.traits.IGenericImplTrait;
/**
* Base interface for a PDF layout object
*
* @author Philip Helger
* @param
* Implementation type
*/
public interface IPLObject > extends IHasID , IGenericImplTrait
{
/**
* @return The debug ID of this element. Neither null
nor empty.
* The debug ID is usually automatically created automatically from
* the ID.
*/
@Nonnull
@Nonempty
String getDebugID ();
/**
* @return true
if this element is splittable, false
* otherwise.
*/
default boolean isSplittable ()
{
return this instanceof IPLSplittableObject >;
}
@Nonnull
default IPLSplittableObject > getAsSplittable ()
{
return (IPLSplittableObject >) this;
}
}