Interface InstanceManagerAutoDefault
- All Known Implementing Classes:
AppsPreferencesActionFactory
,AutomationManager
,BlockBossLogicProvider
,BlockManager
,CarColors
,CarLengths
,CarLoads
,CarManager
,CarManagerXml
,CarOwners
,CarRoads
,CarTypes
,CatalogTreeModel
,ClassMigrationManager
,CTCExceptionBuffer
,CtcManager
,DefaultAnalogExpressionManager
,DefaultDigitalExpressionManager
,DefaultStringExpressionManager
,DirectorySearcher
,DispatcherFrame
,EditorManager
,EngineLengths
,EngineManager
,EngineManagerXml
,EngineTypes
,EntryExitPairs
,FileHistory
,FunctionManager
,FunctionsHelpDialog
,GuiLafPreferencesManager
,GuiLafPreferencesManager
,InternalSystemConnectionMemo
,JmriPreferencesActionFactory
,JmriScriptEngineManager
,JsonMessageClientManager
,JsonSchemaServiceCache
,JsonServer
,JsonServer
,JsonServerPreferences
,JsonServerPreferences
,JsonThrottleManager
,LayoutBlockManager
,LocationManager
,LocationManagerXml
,NamedBeanHandleManager
,NceConsistRoster
,OBlockManager
,OperationsManager
,OperationsSetupXml
,OptionsFile
,PlaceWindow
,PortalManager
,RollingStockLogger
,RosterIconFactory
,RouteManager
,RouteManagerXml
,Router
,ScheduleManager
,SectionManager
,ServletUtil
,Setup
,SignalSpeedMap
,SimpleServerManager
,SystemConnectionMemoManager
,ThrottleFrameManager
,TrainCustomManifest
,TrainCustomSwitchList
,TrainLogger
,TrainManager
,TrainManagerXml
,TrainScheduleManager
,TransitManager
,TurnoutOperationManager
,WarrantManager
,WebServerPreferences
,WiThrottleManager
,ZeroConfServiceManager
public interface InstanceManagerAutoDefault
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.