package net.i2p.router.message;
/*
* free (adj.): unencumbered; not under the control of others
* Written by jrandom in 2003 and released into the public domain
* with no warranty of any kind, either expressed or implied.
* It probably won't make your computer catch on fire, or eat
* your children, but it might. Use at your own risk.
*
*/
import net.i2p.data.Certificate;
import net.i2p.data.i2np.GarlicClove;
/**
* Wrap up the data contained in a GarlicMessage after being decrypted
*
*/
class CloveSet {
private final GarlicClove[] _cloves;
private final Certificate _cert;
private final long _msgId;
private final long _expiration;
/**
* @param cloves non-null, all entries non-null
* @param cert non-null
*/
public CloveSet(GarlicClove[] cloves, Certificate cert, long msgId, long expiration) {
_cloves = cloves;
_cert = cert;
_msgId = msgId;
_expiration = expiration;
}
public int getCloveCount() { return _cloves.length; }
/** @throws ArrayIndexOutOfBoundsException */
public GarlicClove getClove(int index) { return _cloves[index]; }
public Certificate getCertificate() { return _cert; }
public long getMessageId() { return _msgId; }
public long getExpiration() { return _expiration; }
@Override
public String toString() {
StringBuilder buf = new StringBuilder(128);
buf.append("{");
for (int i = 0; i < _cloves.length; i++) {
GarlicClove clove = _cloves[i];
if (clove.getData() != null)
buf.append(clove.getData().getClass().getName()).append(", ");
else
buf.append("[null clove], ");
}
buf.append("}");
return buf.toString();
}
}