## net.i2p.client.naming
Class HostsTxtNamingService

    java.lang.Object
      net.i2p.client.naming.NamingService
          net.i2p.client.naming.DummyNamingService
              net.i2p.client.naming.MetaNamingService
                  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, 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, getBase64Entries, 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