@ Override public final IEngine createEngine ( ) { IPluginRegistry pluginRegistry = createPluginRegistry ( ) ; IDataEncrypter encrypter = createDataEncrypter ( pluginRegistry ) ; CurrentDataEncrypter . instance = encrypter ; IRegistry registry = createRegistry ( pluginRegistry , encrypter ) ; IComponentRegistry componentRegistry = createComponentRegistry ( pluginRegistry ) ; IConnectorFactory cfactory = createConnectorFactory ( pluginRegistry ) ; IPolicyFactory pfactory = createPolicyFactory ( pluginRegistry ) ; IMetrics metrics = createMetrics ( pluginRegistry ) ; IDelegateFactory logFactory = createLoggerFactory ( pluginRegistry ) ; IApiRequestPathParser pathParser = createRequestPathParser ( pluginRegistry ) ; List < IGatewayInitializer > initializers = createInitializers ( pluginRegistry ) ; for ( IGatewayInitializer initializer : initializers ) { initializer . initialize ( ) ; } complete ( ) ; return new EngineImpl ( registry , pluginRegistry , componentRegistry , cfactory , pfactory , metrics , logFactory , pathParser ) ; }
Call this to create a new engine . This method uses the engine config singleton to create the engine .