Managers.java

 1package eu.siacs.conversations.xmpp;
 2
 3import com.google.common.collect.ClassToInstanceMap;
 4import com.google.common.collect.ImmutableClassToInstanceMap;
 5import eu.siacs.conversations.services.XmppConnectionService;
 6import eu.siacs.conversations.xmpp.manager.AbstractManager;
 7import eu.siacs.conversations.xmpp.manager.BlockingManager;
 8import eu.siacs.conversations.xmpp.manager.CarbonsManager;
 9import eu.siacs.conversations.xmpp.manager.DiscoManager;
10import eu.siacs.conversations.xmpp.manager.EntityTimeManager;
11import eu.siacs.conversations.xmpp.manager.PingManager;
12import eu.siacs.conversations.xmpp.manager.PresenceManager;
13import eu.siacs.conversations.xmpp.manager.RosterManager;
14import eu.siacs.conversations.xmpp.manager.UnifiedPushManager;
15
16public class Managers {
17
18    private Managers() {
19        throw new AssertionError("Do not instantiate me");
20    }
21
22    public static ClassToInstanceMap<AbstractManager> get(
23            final XmppConnectionService context, final XmppConnection connection) {
24        return new ImmutableClassToInstanceMap.Builder<AbstractManager>()
25                .put(BlockingManager.class, new BlockingManager(context, connection))
26                .put(CarbonsManager.class, new CarbonsManager(context, connection))
27                .put(DiscoManager.class, new DiscoManager(context, connection))
28                .put(EntityTimeManager.class, new EntityTimeManager(context, connection))
29                .put(PingManager.class, new PingManager(context, connection))
30                .put(PresenceManager.class, new PresenceManager(context, connection))
31                .put(RosterManager.class, new RosterManager(context, connection))
32                .put(UnifiedPushManager.class, new UnifiedPushManager(context, connection))
33                .build();
34    }
35}