Yuta HIGUCHI | 1ef85c4 | 2014-01-29 17:23:21 -0800 | [diff] [blame] | 1 | package net.onrc.onos.datastore.utils; |
| 2 | |
| 3 | import java.nio.ByteBuffer; |
| 4 | import java.util.Comparator; |
| 5 | |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 6 | /** |
| 7 | * Comparator which will compares the content of byte[]. |
| 8 | * |
| 9 | * Expected to be used with TreeMap, etc. when you want to use byte[] as a key. |
| 10 | */ |
Yuta HIGUCHI | 1ef85c4 | 2014-01-29 17:23:21 -0800 | [diff] [blame] | 11 | public final class ByteArrayComparator implements Comparator<byte[]> { |
| 12 | |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 13 | /** |
| 14 | * Instance which can be used, if you want to avoid instantiation per Map. |
| 15 | */ |
Yuta HIGUCHI | 1ef85c4 | 2014-01-29 17:23:21 -0800 | [diff] [blame] | 16 | public static final ByteArrayComparator BYTEARRAY_COMPARATOR = new ByteArrayComparator(); |
| 17 | |
| 18 | @Override |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 19 | public int compare(final byte[] o1, final byte[] o2) { |
Yuta HIGUCHI | 826b4a4 | 2014-03-24 13:10:33 -0700 | [diff] [blame] | 20 | final ByteBuffer b1 = ByteBuffer.wrap(o1); |
| 21 | final ByteBuffer b2 = ByteBuffer.wrap(o2); |
| 22 | return b1.compareTo(b2); |
Yuta HIGUCHI | 1ef85c4 | 2014-01-29 17:23:21 -0800 | [diff] [blame] | 23 | } |
| 24 | } |