Package jmri.managers

Class ShutDownManagerInitializer

java.lang.Object
jmri.implementation.AbstractInstanceInitializer
jmri.managers.ShutDownManagerInitializer
All Implemented Interfaces:
InstanceInitializer

An initializer for the ShutDownManager that allows the ShutDownManager to be used to be specified as a Java property.

This InstanceInitializer provides a DefaultShutDownManager unless the name of the class to use as the ShutDownManager is specified in the jmri.shutdownmanager Java System Property. If the property is specified, it must be a complete name of a class that implements jmri.ShutDownManager and has a public default constructor.

  • Constructor Details

  • Method Details

    • getDefault

      public <T> Object getDefault(Class<T> type)
      The default implementation always throws an IllegalArgumentException. If called by an overriding method, the last line of the overriding method should be return super.getDefault(type);. Provide a default instance of the given class.

      Note calling this method twice for the same class should not be expected to return the same instance; however, there is no guarantee that the same instance will not be returned for two calls to this method.

      Specified by:
      getDefault in interface InstanceInitializer
      Overrides:
      getDefault in class AbstractInstanceInitializer
      Type Parameters:
      T - the class to get the default for
      Parameters:
      type - the class to get the default for
      Returns:
      the newly created default for the given class
    • getInitalizes

      public Set<Class<?>> getInitalizes()
      The default implementation returns an empty set. Get the set of classes for which this InstanceInitializer can provide default instances for.
      Specified by:
      getInitalizes in interface InstanceInitializer
      Overrides:
      getInitalizes in class AbstractInstanceInitializer
      Returns:
      the set of classes this InstanceInitalizer supports; if empty, InstanceInitializer.getDefault(java.lang.Class) will never be called.