Package net.i2p.data
Class DataStructureImpl
- java.lang.Object
-
- net.i2p.data.DataStructureImpl
-
- All Implemented Interfaces:
Serializable
,DataStructure
- Direct Known Subclasses:
AbuseReason
,AbuseSeverity
,Certificate
,DatabaseEntry
,DateAndFlags
,DeliveryInstructions
,GarlicClove
,I2CPMessageImpl
,I2NPMessageImpl
,KeysAndCert
,Lease
,MessageId
,Payload
,RouterAddress
,SessionConfig
,SessionId
,SimpleDataStructure
,TunnelId
public abstract class DataStructureImpl extends Object implements DataStructure, Serializable
Base implementation of all data structures- Author:
- jrandom
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DataStructureImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Hash
calculateHash()
Calculate the SHA256 value of this object (useful for a few scenarios)void
fromBase64(String data)
Load the structure from the base 64 encoded data provided Warning - many classes will throw IllegalStateException if data is already set.void
fromByteArray(byte[] data)
Load the structure from the data provided Warning - many classes will throw IllegalStateException if data is already set.protected int
read(InputStream in, byte[] target)
Repeated reads until the buffer is full or IOException is thrownString
toBase64()
render the structure into modified base 64 notationbyte[]
toByteArray()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.i2p.data.DataStructure
readBytes, writeBytes
-
-
-
-
Method Detail
-
toBase64
public String toBase64()
Description copied from interface:DataStructure
render the structure into modified base 64 notation- Specified by:
toBase64
in interfaceDataStructure
- Returns:
- null on error
-
fromBase64
public void fromBase64(String data) throws DataFormatException
Description copied from interface:DataStructure
Load the structure from the base 64 encoded data provided Warning - many classes will throw IllegalStateException if data is already set. Warning - many classes will throw IllegalArgumentException if data is the wrong size.- Specified by:
fromBase64
in interfaceDataStructure
- Throws:
DataFormatException
-
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 interfaceDataStructure
- Returns:
- SHA256 hash, or null if there were problems (data format or io errors)
-
toByteArray
public byte[] toByteArray()
- Specified by:
toByteArray
in interfaceDataStructure
- Returns:
- may be null if data is not set
-
fromByteArray
public void fromByteArray(byte[] data) throws DataFormatException
Description copied from interface:DataStructure
Load the structure from the data provided Warning - many classes will throw IllegalStateException if data is already set. Warning - many classes will throw IllegalArgumentException if data is the wrong size.- Specified by:
fromByteArray
in interfaceDataStructure
- Throws:
DataFormatException
-
read
protected int read(InputStream in, byte[] target) throws IOException
Repeated reads until the buffer is full or IOException is thrown- Returns:
- number of bytes read (should always equal target.length)
- Throws:
IOException
-
-