package peergos.shared.util;
import java.util.Arrays;
public class ByteArrayWrapper implements Comparable<ByteArrayWrapper>
{
public final byte[] data;
public ByteArrayWrapper(byte[] data)
{
this.data = data;
}
@Override
public int hashCode()
{
return java.util.Arrays.hashCode(data);
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ByteArrayWrapper other = (ByteArrayWrapper) obj;
if (!Arrays.equals(data, other.data))
return false;
return true;
}
@Override
public int compareTo(ByteArrayWrapper o) {
if (data.length < o.data.length)
return -1;
if (data.length > o.data.length)
return 1;
for (int i=0; i < data.length; i++)
if (data[i] != o.data[i])
return (0xff & data[i]) - (0xff & o.data[i]);
return 0;
}
@Override
public String toString() {
return ArrayOps.bytesToHex(data);
}
}