Class ApplicationRunner

java.lang.Object
jaxx.runtime.swing.application.ApplicationRunner

public abstract class ApplicationRunner
extends java.lang.Object
Simple application runner which authorize to reload an application.
Since:
2.1
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected java.lang.String[] args
    arguments given to runner at launch time
    protected java.lang.Exception error  
    protected java.lang.Thread mainThread  
    protected boolean reload
    flag to reload the runner when closing it
    protected java.lang.Runnable runnable
    the runner to start application
    protected long startingTime  
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected ApplicationRunner​(java.lang.String... args)  
  • Method Summary

    Modifier and Type Method Description
    void close()  
    static ApplicationRunner getRunner()  
    protected abstract void initOnce()
    To execute some code only once.
    boolean isReload()  
    void launch()  
    static void lock()  
    protected abstract void onClose​(boolean reload)
    Hook to close runner.
    protected abstract void onError​(java.lang.Exception e)
    Hook when an error occurs in runner.
    protected abstract void onInit()
    Hook to init runner.
    protected abstract void onShutdown()
    Hook to shutdown launcher
    protected abstract void onShutdown​(java.lang.Exception ex)
    Hook to shutdown launcher when an exception occurs on clsoing.
    protected abstract void onStart()
    Hook to start runner.
    void setReload​(boolean reload)  
    static void unlock()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • args

      protected final java.lang.String[] args
      arguments given to runner at launch time
    • reload

      protected boolean reload
      flag to reload the runner when closing it
    • runnable

      protected final java.lang.Runnable runnable
      the runner to start application
    • startingTime

      protected long startingTime
    • error

      protected java.lang.Exception error
    • mainThread

      protected java.lang.Thread mainThread
  • Constructor Details

    • ApplicationRunner

      protected ApplicationRunner​(java.lang.String... args)
  • Method Details

    • getRunner

      public static ApplicationRunner getRunner()
    • lock

      public static void lock() throws java.lang.InterruptedException
      Throws:
      java.lang.InterruptedException
    • unlock

      public static void unlock()
    • initOnce

      protected abstract void initOnce()
      To execute some code only once. This code will not be re-execute when reloading the runner.
    • onInit

      protected abstract void onInit() throws java.lang.Exception
      Hook to init runner.
      Throws:
      java.lang.Exception - if any problem
    • onStart

      protected abstract void onStart() throws java.lang.Exception
      Hook to start runner.
      Throws:
      java.lang.Exception - if any problem
    • onClose

      protected abstract void onClose​(boolean reload) throws java.lang.Exception
      Hook to close runner.
      Parameters:
      reload - if reload was asked
      Throws:
      java.lang.Exception - if any problme
    • onShutdown

      protected abstract void onShutdown() throws java.lang.Exception
      Hook to shutdown launcher
      Throws:
      java.lang.Exception - if any problem
    • onShutdown

      protected abstract void onShutdown​(java.lang.Exception ex)
      Hook to shutdown launcher when an exception occurs on clsoing.
      Parameters:
      ex - the error catched while closing launcher
    • onError

      protected abstract void onError​(java.lang.Exception e)
      Hook when an error occurs in runner.
      Parameters:
      e - the error catched
    • isReload

      public boolean isReload()
    • setReload

      public void setReload​(boolean reload)
    • launch

      public final void launch()
    • close

      public final void close()