org.apache.accumulo.core.client.lexicoder
public class PairLexicoder<A extends Comparable<A>,B extends Comparable<B>> extends Object implements Lexicoder<ComparablePair<A,B>>
{ @code StringLexicoder stringEncoder = new StringLexicoder(); ReverseLexicoder<Date> dateEncoder = new ReverseLexicoder<Date>(new DateLexicoder()); PairLexicoder<String,Date> pairLexicoder = new PairLexicoder<String,Date>(stringEncoder, dateEncoder); byte[] pair1 = pairLexicoder.encode(new ComparablePair<String,Date>("com.google", new Date())); byte[] pair2 = pairLexicoder.encode(new ComparablePair<String,Date>("com.google", new Date(System.currentTimeMillis() + 500))); byte[] pair3 = pairLexicoder.encode(new ComparablePair<String,Date>("org.apache", new Date(System.currentTimeMillis() + 1000))); }In the example, pair2 will be sorted before pair1. pair3 will occur last since 'org' is sorted after 'com'. If we just used a
DateLexicoder
instead
of a ReverseLexicoder
, pair1 would have been sorted before pair2.Constructor and Description |
---|
PairLexicoder(Lexicoder<A> firstLexicoder,
Lexicoder<B> secondLexicoder) |
public byte[] encode(ComparablePair<A,B> data)
encode
in interface TypedValueCombiner.Encoder<ComparablePair<A extends Comparable<A>,B extends Comparable<B>>>
public ComparablePair<A,B> decode(byte[] data)
decode
in interface TypedValueCombiner.Encoder<ComparablePair<A extends Comparable<A>,B extends Comparable<B>>>
Copyright © 2015 Apache Accumulo Project. All rights reserved.