Package net.i2p.app
Class ClientAppManagerImpl
- java.lang.Object
-
- net.i2p.app.ClientAppManagerImpl
-
- All Implemented Interfaces:
ClientAppManager
- Direct Known Subclasses:
RouterAppManager
public class ClientAppManagerImpl extends Object implements ClientAppManager
A simple ClientAppManager that supports register/unregister only, so that client apps may find each other in AppContext. See RouterAppManager for the real thing in RouterContext.- Since:
- 0.9.30
-
-
Field Summary
Fields Modifier and Type Field Description protected ConcurrentHashMap<String,ClientApp>_registered
-
Constructor Summary
Constructors Constructor Description ClientAppManagerImpl(I2PAppContext ctx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClientAppgetRegisteredApp(String name)Get a registered app.voidnotify(ClientApp app, ClientAppState state, String message, Exception e)Does nothing.booleanregister(ClientApp app)Register with the manager under the given name, so that other clients may find it.voidunregister(ClientApp app)Unregister with the manager.
-
-
-
Field Detail
-
_registered
protected final ConcurrentHashMap<String,ClientApp> _registered
-
-
Constructor Detail
-
ClientAppManagerImpl
public ClientAppManagerImpl(I2PAppContext ctx)
-
-
Method Detail
-
notify
public void notify(ClientApp app, ClientAppState state, String message, Exception e)
Does nothing.- Specified by:
notifyin interfaceClientAppManager- Parameters:
app- non-nullstate- non-nullmessage- may be nulle- may be null
-
register
public boolean register(ClientApp app)
Register with the manager under the given name, so that other clients may find it. Only required for apps used by other apps.- Specified by:
registerin interfaceClientAppManager- Parameters:
app- non-null- Returns:
- true if successful, false if duplicate name
-
unregister
public void unregister(ClientApp app)
Unregister with the manager. Name must be the same as that from register(). Only required for apps used by other apps.- Specified by:
unregisterin interfaceClientAppManager- Parameters:
app- non-null
-
getRegisteredApp
public ClientApp getRegisteredApp(String name)
Get a registered app. Only used for apps finding other apps. Do not hold a static reference. If you only need to find a port, use the PortMapper instead.- Specified by:
getRegisteredAppin interfaceClientAppManager- Parameters:
name- non-null- Returns:
- client app or null
-
-