Interface InstanceManagerAutoDefault
-
- All Known Implementing Classes:
AppsPreferencesActionFactory
,AutomationManager
,BlockBossLogicProvider
,BlockManager
,CarColors
,CarLengths
,CarLoads
,CarManager
,CarManagerXml
,CarOwners
,CarRoads
,CarTypes
,CatalogTreeModel
,ClassMigrationManager
,ConsistManager
,CTCExceptionBuffer
,CtcManager
,DefaultAnalogExpressionManager
,DefaultDigitalExpressionManager
,DefaultStringExpressionManager
,DirectorySearcher
,DispatcherActiveTrainManager
,DispatcherFrame
,DivisionManager
,EditorManager
,EngineLengths
,EngineManager
,EngineManagerXml
,EngineTypes
,EntryExitPairs
,FileHistory
,FunctionManager
,FunctionsHelpDialog
,GuiLafPreferencesManager
,HelpUtilPreferences
,InternalScriptEngineSelector
,InternalSystemConnectionMemo
,JmriPreferencesActionFactory
,JmriScriptEngineManager
,JsonMessageClientManager
,JsonSchemaServiceCache
,JsonServer
,JsonServerPreferences
,JsonThrottleManager
,KernelManager
,LayoutBlockManager
,LocationManager
,LocationManagerXml
,NamedBeanHandleManager
,NceConsistRoster
,OBlockManager
,OperationsManager
,OperationsSetupXml
,OptionsFile
,PlaceWindow
,PortalManager
,RollingStockLogger
,RosterIconFactory
,RouteManager
,RouteManagerXml
,Router
,ScheduleManager
,ServletUtil
,Setup
,ShutdownPreferences
,SignalSpeedMap
,SimpleServerManager
,SystemConnectionMemoManager
,ThrottleFrameManager
,ThrottlesPreferences
,TrainCustomManifest
,TrainCustomSwitchList
,TrainLogger
,TrainManager
,TrainManagerXml
,TrainScheduleManager
,TurnoutOperationManager
,WarrantManager
,WebServerPreferences
,WiThrottleManager
,ZeroConfServiceManager
public interface InstanceManagerAutoDefault
Interface indicating that the InstanceManager can create an object of this type when needed by a request.Implies that the default constructor of the class does everything needed to get a working object.
More specifically, the constructors or code called by the constructors of classes implementing this interface (that have the InstanceManager automatically create their objects) should never ask the InstanceManager for reference to other automatically-created types. Doing so may lead to an infinite loop in initialization.
If the object needs to have obtain references, see
InstanceManagerAutoInitialize
and the discussion there for a possible solution.If this interface isn't sufficient because the InstanceManager requests are through an interface, e.g. FooManager is an interface with default implementation DefaultFooManager, see
InstanceInitializer
and its default implementation inDefaultInstanceInitializer
. That mechanism can also do more complicated initialization sequences.