Serializable, DataStructureEncryptedBuildRecord, Hash, Hash384, Hash512, NodeInfo, PrivateKey, PublicKey, SessionKey, SessionTag, SHA1Hash, Signature, SigningPrivateKey, SigningPublicKeypublic abstract class SimpleDataStructure extends DataStructureImpl
| Modifier and Type | Field | Description |
|---|---|---|
protected byte[] |
_data |
| Constructor | Description |
|---|---|
SimpleDataStructure() |
A new instance with the data set to null.
|
SimpleDataStructure(byte[] data) |
| Modifier and Type | Method | Description |
|---|---|---|
Hash |
calculateHash() |
Calculate the SHA256 value of this object (useful for a few scenarios)
|
boolean |
equals(Object obj) |
Warning - this returns true for two different classes with the same size
and same data, e.g.
|
void |
fromBase64(String data) |
Sets the data.
|
void |
fromByteArray(byte[] data) |
Overridden for efficiency.
|
byte[] |
getData() |
Get the data reference (not a copy)
|
int |
hashCode() |
We assume the data has enough randomness in it, so use the first 4 bytes for speed.
|
abstract int |
length() |
The legal length of the byte array in this data structure
|
void |
readBytes(InputStream in) |
Sets the data.
|
void |
setData(byte[] data) |
Sets the data.
|
String |
toBase64() |
render the structure into modified base 64 notation
|
byte[] |
toByteArray() |
Overridden for efficiency.
|
String |
toString() |
|
void |
writeBytes(OutputStream out) |
Write out the data structure to the stream, using the format defined in the
I2P data structure specification.
|
readpublic SimpleDataStructure()
public SimpleDataStructure(byte[] data)
IllegalArgumentException - if data is not the legal number of bytes (but null is ok)public abstract int length()
public byte[] getData()
public void setData(byte[] data)
data - of correct length, or nullIllegalArgumentException - if data is not the legal number of bytes (but null is ok)RuntimeException - if data already set.public void readBytes(InputStream in) throws DataFormatException, IOException
in - the stream to readRuntimeException - if data already set.DataFormatException - if the data is improperly formattedIOException - if there was a problem reading the streampublic void writeBytes(OutputStream out) throws DataFormatException, IOException
DataStructureout - stream to write toDataFormatException - if the data was incomplete or not yet ready to be writtenIOException - if there was a problem writing to the streampublic String toBase64()
DataStructuretoBase64 in interface DataStructuretoBase64 in class DataStructureImplpublic void fromBase64(String data) throws DataFormatException
fromBase64 in interface DataStructurefromBase64 in class DataStructureImplDataFormatException - if decoded data is not the legal number of bytes or on decoding errorRuntimeException - if data already set.public Hash calculateHash()
DataStructurecalculateHash in interface DataStructurecalculateHash in class DataStructureImplpublic byte[] toByteArray()
toByteArray in interface DataStructuretoByteArray in class DataStructureImplpublic void fromByteArray(byte[] data)
throws DataFormatException
fromByteArray in interface DataStructurefromByteArray in class DataStructureImpldata - non-nullDataFormatException - if null or wrong lengthRuntimeException - if data already set.public int hashCode()