## net.i2p.data
Class Destination

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

All Implemented Interfaces:
  DataStructure

    public class Destination

extends DataStructureImpl

Defines an end point in the I2P network. The Destination may move aroundn in the network, but messages sent to the Destination will find it

Author:
  jrandom

Constructor Summary
`Destination()`
`Destination(java.lang.String s)` alternative constructor which takes a base64 string representation

Method Summary
`Hash` `calculateHash()` Calculate the SHA256 value of this object (useful for a few scenarios)
`boolean` `equals(java.lang.Object object)`
`Certificate` `getCertificate()`
`PublicKey` `getPublicKey()`
`SigningPublicKey` `getSigningPublicKey()`
`int` `hashCode()`
`static void` `main(java.lang.String[] args)`
`int` `readBytes(byte[] source, int offset)`
`void` `readBytes(java.io.InputStream in)` Load up the current object with data from the given stream.
`void` `setCertificate(Certificate cert)`
`void` `setPublicKey(PublicKey key)`
`void` `setSigningPublicKey(SigningPublicKey key)`
`int` `size()`
`java.lang.String` `toString()`
`int` `writeBytes(byte[] target, int offset)`
`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
`fromBase64, fromByteArray, read, toBase64, toByteArray`

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

Constructor Detail

### Destination

    public Destination()

### Destination

    public Destination(java.lang.String s)
                throws DataFormatException

  alternative constructor which takes a base64 string representation

  Parameters:
    `s` - a Base64 representation of the destination, as (eg) is used in hosts.txt
  Throws:
    `DataFormatException`

Method Detail

### getCertificate

    public Certificate getCertificate()

### setCertificate

    public void setCertificate(Certificate cert)

### getPublicKey

    public PublicKey getPublicKey()

### setPublicKey

    public void setPublicKey(PublicKey key)

### getSigningPublicKey

    public SigningPublicKey getSigningPublicKey()

### setSigningPublicKey

    public void setSigningPublicKey(SigningPublicKey key)

### 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

### writeBytes

    public int writeBytes(byte[] target,
                          int offset)

### readBytes

    public int readBytes(byte[] source,
                         int offset)
                  throws DataFormatException

  Throws:
    `DataFormatException`

### size

    public int size()

### 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`

### calculateHash

    public Hash calculateHash()

  Description copied from interface: `DataStructure`
  Calculate the SHA256 value of this object (useful for a few scenarios)

  Specified by:
    `calculateHash` in interface `DataStructure`
  Overrides:
    `calculateHash` in class `DataStructureImpl`
  Returns:
    SHA256 hash, or null if there were problems (data format or io errors)

### main

    public static void main(java.lang.String[] args)