net.i2p.client.naming
Class HostsTxtNamingService

java.lang.Object
  extended by net.i2p.client.naming.NamingService
      extended by net.i2p.client.naming.DummyNamingService
          extended by net.i2p.client.naming.MetaNamingService
              extended by net.i2p.client.naming.HostsTxtNamingService

public class HostsTxtNamingService
extends MetaNamingService

A naming service based on multiple "hosts.txt" files. Supports .b32.i2p and {b64} lookups. Supports caching. All host names are converted to lower case.


Field Summary
static String DEFAULT_HOSTS_FILE
          default hosts.txt filenames
static String PROP_HOSTS_FILE
          If this system property is specified, the tunnel will read the given file for hostname=destKey values when resolving names
 
Fields inherited from class net.i2p.client.naming.MetaNamingService
_services
 
Fields inherited from class net.i2p.client.naming.DummyNamingService
BASE32_HASH_LENGTH, CACHE_MAX_SIZE, DEST_SIZE, PROP_B32
 
Fields inherited from class net.i2p.client.naming.NamingService
_context, _listeners, _log, _updaters, PROP_IMPL
 
Constructor Summary
HostsTxtNamingService(I2PAppContext context)
          The naming service should only be constructed and accessed through the application context.
 
Method Summary
 Set<String> getNames(Properties options)
          All services aggregated, unless options contains the property "file", in which case only for that file
 Destination lookup(String hostname, Properties lookupOptions, Properties storedOptions)
          Same as lookup(hostname) but with in and out options Note that whether this (and lookup(hostname)) resolve B32 addresses is NamingService-specific.
 boolean put(String hostname, Destination d, Properties options)
          Stores in the last service
 boolean putIfAbsent(String hostname, Destination d, Properties options)
          Stores in the last service
 boolean remove(String hostname, Properties options)
          Removes from all services
 
Methods inherited from class net.i2p.client.naming.MetaNamingService
addNamingService, export, getBase64Entries, getEntries, getNamingServices, registerListener, removeNamingService, reverseLookup, shutdown, size, unregisterListener
 
Methods inherited from class net.i2p.client.naming.DummyNamingService
clearCache, getCache, putCache, removeCache
 
Methods inherited from class net.i2p.client.naming.NamingService
addNamingService, createInstance, export, getConfiguration, getEntries, getName, getNames, getParent, lookup, lookup, lookupBase32, lookupBase64, put, putAll, putIfAbsent, registerUpdater, remove, requestUpdate, reverseLookup, reverseLookup, setConfiguration, size, start, toString, unregisterUpdater, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROP_HOSTS_FILE

public static final String PROP_HOSTS_FILE
If this system property is specified, the tunnel will read the given file for hostname=destKey values when resolving names

See Also:
Constant Field Values

DEFAULT_HOSTS_FILE

public static final String DEFAULT_HOSTS_FILE
default hosts.txt filenames

See Also:
Constant Field Values
Constructor Detail

HostsTxtNamingService

public HostsTxtNamingService(I2PAppContext context)
The naming service should only be constructed and accessed through the application context. This constructor should only be used by the appropriate application context itself.

Method Detail

lookup

public Destination lookup(String hostname,
                          Properties lookupOptions,
                          Properties storedOptions)
Description copied from class: NamingService
Same as lookup(hostname) but with in and out options Note that whether this (and lookup(hostname)) resolve B32 addresses is NamingService-specific.

Overrides:
lookup in class MetaNamingService
Parameters:
hostname - mixed case as it could be a key
lookupOptions - input parameter, NamingService-specific, can be null
storedOptions - output parameter, NamingService-specific, any stored properties will be added if non-null
Returns:
dest or null

put

public boolean put(String hostname,
                   Destination d,
                   Properties options)
Description copied from class: MetaNamingService
Stores in the last service

Overrides:
put in class MetaNamingService
options - NamingService-specific, can be null
Returns:
success

putIfAbsent

public boolean putIfAbsent(String hostname,
                           Destination d,
                           Properties options)
Description copied from class: MetaNamingService
Stores in the last service

Overrides:
putIfAbsent in class MetaNamingService
options - NamingService-specific, can be null
Returns:
success

remove

public boolean remove(String hostname,
                      Properties options)
Description copied from class: MetaNamingService
Removes from all services

Overrides:
remove in class MetaNamingService
options - NamingService-specific, can be null
Returns:
success

getNames

public Set<String> getNames(Properties options)
All services aggregated, unless options contains the property "file", in which case only for that file

Overrides:
getNames in class MetaNamingService
Parameters:
options - NamingService-specific, can be null
Returns:
all known host names (matching the options if non-null) or empty Set if none; Returned Set is not necessarily sorted, implementation dependent