Class SimpleTicket<T>

  • Type Parameters:
    T - The type that will be used to check if your ticket matches
    Direct Known Subclasses:
    AABBTicket

    public abstract class SimpleTicket<T>
    extends java.lang.Object
    Common class for a simple ticket based system.
    • Field Detail

      • isValid

        protected boolean isValid
    • Constructor Detail

      • SimpleTicket

        public SimpleTicket()
    • Method Detail

      • setManager

        @SafeVarargs
        public final void setManager​(@Nonnull
                                     ITicketManager<T> masterManager,
                                     @Nonnull
                                     ITicketManager<T>... dummyManagers)
        Internal method that sets the collection from the managing system.
        Should not be called if you just want to register a ticket to a system like the FarmlandWaterManager
      • isValid

        public boolean isValid()
        Checks if your ticket is still registered in the system.
      • invalidate

        public void invalidate()
        Removes the ticket from the managing system. After this call, any calls to isValid() should return false unless it is registered again using validate()
      • unload

        public boolean unload​(ITicketManager<T> unloadingManager)
        Called by the managing system when a ticket wishes to unload all of it's tickets, e.g. on chunk unload
        The ticket must not remove itself from the manager that is calling the unload! The ticket must ensure that it removes itself from all of it's dummies when returning true
        Parameters:
        unloadingManager - The manager that is unloading this ticket
        Returns:
        true if this ticket can be removed, false if not.
      • validate

        public void validate()
        Re-adds your ticket to the system.
      • matches

        public abstract boolean matches​(T toMatch)
      • forEachManager

        protected final void forEachManager​(java.util.function.Consumer<ITicketManager<T>> consumer)
      • getDummyManagers

        protected final ITicketManager<T>[] getDummyManagers()