net.i2p.data
Class Destination

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by net.i2p.data.Destination
All Implemented Interfaces:
DataStructure
Direct Known Subclasses:
VerifiedDestination

public class Destination
extends DataStructureImpl

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

Author:
jrandom

Field Summary
protected  Hash __calculatedHash
           
protected  Certificate _certificate
           
protected  PublicKey _publicKey
           
protected  SigningPublicKey _signingKey
           
 
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()
          the public key has enough randomness in it to use it by itself for speed
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
 

Field Detail

_certificate

protected Certificate _certificate

_signingKey

protected SigningPublicKey _signingKey

_publicKey

protected PublicKey _publicKey

__calculatedHash

protected Hash __calculatedHash
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()
the public key has enough randomness in it to use it by itself for speed

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)