Class AbstractPLObject<IMPLTYPE extends AbstractPLObject<IMPLTYPE>>

  • Type Parameters:
    IMPLTYPE - The implementation type of this class.
    All Implemented Interfaces:
    com.helger.commons.id.IHasID<String>, com.helger.commons.traits.IGenericImplTrait<IMPLTYPE>, IPLObject<IMPLTYPE>, IPLVisitable
    Direct Known Subclasses:
    AbstractPLRenderableObject, PLPageSet

    public abstract class AbstractPLObject<IMPLTYPE extends AbstractPLObject<IMPLTYPE>>
    extends Object
    implements IPLObject<IMPLTYPE>
    Abstract PL object
    Author:
    Philip Helger
    • Constructor Detail

      • AbstractPLObject

        public AbstractPLObject()
    • Method Detail

      • getID

        public final String getID()
        Specified by:
        getID in interface com.helger.commons.id.IHasID<IMPLTYPE extends AbstractPLObject<IMPLTYPE>>
        Returns:
        The unique element ID. Never null. By default this ID is automatically generated, by it might be overridden by setID(String).
      • onAfterSetID

        @OverrideOnDemand
        protected void onAfterSetID()
        Callback invoked after an ID change. Overwrite this method to do local actions (if needed)
      • setID

        @Nonnull
        public final IMPLTYPE setID​(@Nonnull @Nonempty
                                    String sID)
        Set the ID of this element. This methods calls onAfterSetID after any change, even if the values were the same.
        Parameters:
        sID - The new ID to use. May neither be null nor empty.
        Returns:
        this for chaining