Class PairLexicoder<A extends Comparable<A>,B extends Comparable<B>> 
java.lang.Object
org.apache.accumulo.core.client.lexicoder.AbstractEncoder<T>
org.apache.accumulo.core.client.lexicoder.AbstractLexicoder<org.apache.accumulo.core.util.ComparablePair<A,B>>
 
org.apache.accumulo.core.client.lexicoder.PairLexicoder<A,B> 
- All Implemented Interfaces:
- Encoder<org.apache.accumulo.core.util.ComparablePair<A,,- B>> - Lexicoder<org.apache.accumulo.core.util.ComparablePair<A,- B>> 
public class PairLexicoder<A extends Comparable<A>,B extends Comparable<B>> 
extends AbstractLexicoder<org.apache.accumulo.core.util.ComparablePair<A,B>> 
This class is a lexicoder that sorts a ComparablePair. Each item in the pair is encoded with the
 given lexicoder and concatenated together. This makes it easy to construct a sortable key based
 on two components. There are many examples of this- but a key/value relationship is a great one.
 If we decided we wanted a two-component key where the first component is a string and the second
 component a date which is reverse sorted, we can do so with the following example:
 
 
 StringLexicoder strEncoder = new StringLexicoder();
 ReverseLexicoder<Date> dateEnc = new ReverseLexicoder<>(new DateLexicoder());
 PairLexicoder<String,Date> pair = new PairLexicoder<>(strEncoder, dateEnc);
 long now = System.currentTimeMillis();
 byte[] pair1 = pair.encode(new ComparablePair<>("com", new Date(now)));
 byte[] pair2 = pair.encode(new ComparablePair<>("com", new Date(now + 500)));
 byte[] pair3 = pair.encode(new ComparablePair<>("org", new Date(now + 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.- Since:
- 1.6.0
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptiondecode(byte[] b) decodeUnchecked(byte[] data, int offset, int len) Decodes a byte array without checking if the offset and len exceed the bounds of the actual array.byte[]Methods inherited from class org.apache.accumulo.core.client.lexicoder.AbstractEncoderdecode
- 
Constructor Details- 
PairLexicoder
 
- 
- 
Method Details- 
encode
- 
decode- Specified by:
- decodein interface- Encoder<A extends Comparable<A>>
- Overrides:
- decodein class- AbstractEncoder<org.apache.accumulo.core.util.ComparablePair<A extends Comparable<A>,- B extends Comparable<B>>> 
 
- 
decodeUncheckedprotected org.apache.accumulo.core.util.ComparablePair<A,B> decodeUnchecked(byte[] data, int offset, int len) Description copied from class:AbstractEncoderDecodes a byte array without checking if the offset and len exceed the bounds of the actual array.- Specified by:
- decodeUncheckedin class- AbstractEncoder<org.apache.accumulo.core.util.ComparablePair<A extends Comparable<A>,- B extends Comparable<B>>> 
 
 
-