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
,KeysAndCert
,Lease
,Payload
,RouterAddress
,SessionConfig
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
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()
-
Constructor Details
-
DataStructureImpl
public DataStructureImpl()
-
-
Method Details
-
toBase64
Description copied from interface:DataStructure
render the structure into modified base 64 notation- Specified by:
toBase64
in interfaceDataStructure
- Returns:
- null on error
-
fromBase64
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
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
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
Repeated reads until the buffer is full or IOException is thrown- Returns:
- number of bytes read (should always equal target.length)
- Throws:
IOException
-