class AddressBook extends Object implements Iterable<Map.Entry<String,HostTxtEntry>>
Modifier and Type | Field and Description |
---|---|
(package private) static long |
MAX_SUB_SIZE |
Constructor and Description |
---|
AddressBook(File file)
Construct an AddressBook from the contents of the file at file.
|
AddressBook(Map<String,HostTxtEntry> addresses)
Construct an AddressBook from the contents of the Map addresses.
|
AddressBook(String testsubfile)
Test only.
|
AddressBook(Subscription subscription,
String proxyHost,
int proxyPort)
Construct an AddressBook from the Subscription subscription.
|
Modifier and Type | Method and Description |
---|---|
void |
delete()
Delete the temp file or clear the map.
|
String |
getLocation()
Return the location of the file this AddressBook was constructed from.
|
static boolean |
isValidKey(String host)
Do basic validation of the hostname
hostname was already converted to lower case by HostTxtParser.parse()
|
Iterator<Map.Entry<String,HostTxtEntry>> |
iterator()
Return an iterator over the addresses in the AddressBook.
|
void |
merge(AddressBook other,
boolean overwrite,
Log log)
Merge this AddressBook with AddressBook other, writing messages about new
addresses or conflicts to log.
|
String |
toString()
Return a string representation of the origin of the AddressBook.
|
void |
write()
Write this AddressBook out to the file it was read from.
|
void |
write(File file)
Write the contents of this AddressBook out to the File file.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
static final long MAX_SUB_SIZE
public AddressBook(Map<String,HostTxtEntry> addresses)
addresses
- A Map containing human readable addresses as keys, mapped to
base64 i2p destinations.public AddressBook(Subscription subscription, String proxyHost, int proxyPort)
subscription
- A Subscription instance pointing at a remote address book.proxyHost
- hostname of proxyproxyPort
- port number of proxypublic AddressBook(File file)
file
- A File pointing at a file with lines in the format
"key=value", where key is a human readable name, and value is
a base64 i2p destination.public AddressBook(String testsubfile)
testsubfile
- path to a file containing the simulated fetch of a subscriptionpublic Iterator<Map.Entry<String,HostTxtEntry>> iterator()
iterator
in interface Iterable<Map.Entry<String,HostTxtEntry>>
public void delete()
public String getLocation()
public String toString()
public static boolean isValidKey(String host)
public void merge(AddressBook other, boolean overwrite, Log log)
other
- An AddressBook to merge with.overwrite
- True to overwritelog
- The log to write messages about new addresses or conflicts to. May be null.IllegalStateException
- if this was created with the Subscription constructor.public void write(File file)
file
- The file to write the contents of this AddressBook too.IllegalStateException
- if this was created with the Subscription constructor.public void write()
IllegalStateException
- if this was not created with the File constructor.