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
Base implementation of all data structures
- Author:
- jrandom
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCalculate 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 throwntoBase64()
render the structure into modified base 64 notationbyte[]
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
-
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
-