## net.i2p.data
Class RouterAddress

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.data.RouterAddress

All Implemented Interfaces:
  DataStructure

    public class RouterAddress

extends DataStructureImpl

Defines a method of communicating with a router

Author:
  jrandom

Constructor Summary
`RouterAddress()`

Method Summary
`boolean` `equals(java.lang.Object object)`
`int` `getCost()` Retrieve the weighted cost of this address, relative to other methods of contacting this router.
`java.util.Date` `getExpiration()` Retrieve the date after which the address should not be used.
`java.util.Properties` `getOptions()` Retrieve the transport specific options necessary for communication
`java.lang.String` `getTransportStyle()` Retrieve the type of transport that must be used to communicate on this address.
`int` `hashCode()`
`void` `readBytes(java.io.InputStream in)` Load up the current object with data from the given stream.
`void` `setCost(int cost)` Configure the weighted cost of using the address.
`void` `setExpiration(java.util.Date expiration)` Configure the expiration date of the address (null for no expiration)
`void` `setOptions(java.util.Properties options)` Specify the transport specific options necessary for communication
`void` `setTransportStyle(java.lang.String transportStyle)` Configure the type of transport that must be used to communicate on this address
`java.lang.String` `toString()`
`void` `writeBytes(java.io.OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.

Methods inherited from class net.i2p.data.DataStructureImpl
`calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### RouterAddress

    public RouterAddress()

Method Detail

### getCost

    public int getCost()

  Retrieve the weighted cost of this address, relative to other methods of contacting this router. The value 0 means free and 255 means really expensive. No value above 255 is allowed.

### setCost

    public void setCost(int cost)

  Configure the weighted cost of using the address. No value above 255 is allowed.

### getExpiration

    public java.util.Date getExpiration()

  Retrieve the date after which the address should not be used. If this is null, then the address never expires.

### setExpiration

    public void setExpiration(java.util.Date expiration)

  Configure the expiration date of the address (null for no expiration)

### getTransportStyle

    public java.lang.String getTransportStyle()

  Retrieve the type of transport that must be used to communicate on this address.

### setTransportStyle

    public void setTransportStyle(java.lang.String transportStyle)

  Configure the type of transport that must be used to communicate on this address

### getOptions

    public java.util.Properties getOptions()

  Retrieve the transport specific options necessary for communication

### setOptions

    public void setOptions(java.util.Properties options)

  Specify the transport specific options necessary for communication

### readBytes

    public void readBytes(java.io.InputStream in)
                   throws DataFormatException,
                          java.io.IOException

  Description copied from interface: `DataStructure`
  Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification.

  Parameters:
    `in` - stream to read from
  Throws:
    `DataFormatException` - if the data is improperly formatted
    `java.io.IOException` - if there was a problem reading the stream

### writeBytes

    public void writeBytes(java.io.OutputStream out)
                    throws DataFormatException,
                           java.io.IOException

  Description copied from interface: `DataStructure`
  Write out the data structure to the stream, using the format defined in the I2P data structure specification.

  Parameters:
    `out` - stream to write to
  Throws:
    `DataFormatException` - if the data was incomplete or not yet ready to be written
    `java.io.IOException` - if there was a problem writing to the stream

### equals

    public boolean equals(java.lang.Object object)

  Overrides:
    `equals` in class `java.lang.Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`