java.lang.Object
com.aoindustries.aoserv.daemon.util.BuilderThread
All Implemented Interfaces:
TableListener, PackageManager.PackageListener
Direct Known Subclasses:
AWStatsManager, CvsManager, DNSManager, EmailAddressManager, EmailDomainManager, Fail2banManager, FirewalldManager, FTPManager, HttpdManager, ImapManager, IpReputationManager, JilterConfigurationWriter, LinuxAccountManager, MajordomoManager, MrtgManager, MySQLDatabaseManager, MySQLDBUserManager, MySQLHostManager, MySQLServerManager, MySQLUserManager, NetDeviceManager, PgHbaManager, PostgresDatabaseManager, PostgresServerManager, PostgresUserManager, ProcmailManager, SaslauthdManager, SendmailCFManager, SmtpRelayManager, SpamAssassinManager, SshdManager, TimeZoneManager, XinetdManager

public abstract class BuilderThread extends Object implements TableListener, PackageManager.PackageListener
Handles the building of CVS repositories and configs.
Author:
AO Industries, Inc.
  • Field Details

    • DEFAULT_PROCESS_TIMER_MAXIMUM_TIME

      public static final long DEFAULT_PROCESS_TIMER_MAXIMUM_TIME
      See Also:
    • DEFAULT_PROCESS_TIMER_REMINDER_INTERVAL

      public static final long DEFAULT_PROCESS_TIMER_REMINDER_INTERVAL
      See Also:
    • DEFAULT_MINIMUM_DELAY

      public static final int DEFAULT_MINIMUM_DELAY
      See Also:
    • DEFAULT_MAXIMUM_DELAY

      public static final int DEFAULT_MAXIMUM_DELAY
      See Also:
  • Constructor Details

    • BuilderThread

      protected BuilderThread()
  • Method Details

    • tableUpdated

      public void tableUpdated(Table<?> table)
      Specified by:
      tableUpdated in interface TableListener
    • packageListUpdated

      public void packageListUpdated(SortedSet<PackageManager.Rpm> allRpms)
      Description copied from interface: PackageManager.PackageListener
      Called when the package list is updated or first loaded.
      Specified by:
      packageListUpdated in interface PackageManager.PackageListener
    • doRebuild

      protected abstract boolean doRebuild()
      Returns:
      true if successful or false if unsuccessful and needs to be retried.
    • waitForBuild

      public void waitForBuild()
    • getProcessTimerSubject

      public String getProcessTimerSubject()
    • getProcessTimerDescription

      public abstract String getProcessTimerDescription()
    • getProcessTimerMaximumTime

      public long getProcessTimerMaximumTime()
    • getProcessTimerReminderInterval

      public long getProcessTimerReminderInterval()
    • getRandomDelay

      public final int getRandomDelay()
    • getMinimumDelay

      public int getMinimumDelay()
      The delay is random between the minimum and maximum.
    • getMaximumDelay

      public int getMaximumDelay()
      The delay is random between the minimum and maximum.