Interface InstanceManagerAutoDefault
- All Known Implementing Classes:
AppsPreferencesActionFactory,AutoBackup,AutomationManager,BackupBase,BlockBossLogicProvider,BlockManager,CarColors,CarLengths,CarLoads,CarManager,CarManagerXml,CarOwners,CarRoads,CarTypes,CatalogTreeModel,ClassMigrationManager,ConsistManager,CTCExceptionBuffer,CtcManager,DefaultAnalogExpressionManager,DefaultBackup,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,LoadAndStorePreferences,LocationManager,LocationManagerXml,NamedBeanHandleManager,NceConsistRoster,OBlockManager,OlcbNodeGroupStore,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
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 in DefaultInstanceInitializer.
That mechanism can also do more complicated initialization sequences.