package polly.rx.core.orion.datasource; import polly.rx.core.orion.CachedQuadrantProvider; import polly.rx.core.orion.QuadrantProvider; import de.skuzzle.polly.sdk.PersistenceManagerV2; public final class DBOrionAccess { private final DBQuadrantUpdater quadUpdater; private final DBPortalProvider portalProvider; private final DBPortalUpdater portalUpdater; private final DBAlienManager alienManager; private final CachedQuadrantProvider cachedQuadProvider; public DBOrionAccess(PersistenceManagerV2 persistence) { final DBQuadrantProvider dbQuadProvider = new DBQuadrantProvider(persistence); this.quadUpdater = new DBQuadrantUpdater(persistence); this.portalProvider = new DBPortalProvider(persistence); this.portalUpdater = new DBPortalUpdater(persistence, this.quadUpdater); this.alienManager = new DBAlienManager(persistence); this.cachedQuadProvider = new CachedQuadrantProvider(dbQuadProvider); this.quadUpdater.addQuadrantListener(this.cachedQuadProvider); } public DBAlienManager getAlienManager() { return this.alienManager; } public QuadrantProvider getQuadrantProvider() { return this.cachedQuadProvider; } public DBQuadrantUpdater getQuadrantUpdater() { return this.quadUpdater; } public DBPortalProvider getPortalProvider() { return this.portalProvider; } public DBPortalUpdater getPortalUpdater() { return this.portalUpdater; } }