org.apache.hadoop.hbase.types
Class Union2<A,B>

java.lang.Object
  extended by org.apache.hadoop.hbase.types.Union2<A,B>
All Implemented Interfaces:
DataType<Object>
Direct Known Subclasses:
Union3

@InterfaceAudience.Public
@InterfaceStability.Evolving
public abstract class Union2<A,B>
extends Object
implements DataType<Object>

The Union family of DataTypes encode one of a fixed set of Objects. They provide convenience methods which handle type casting on your behalf.


Field Summary
protected  DataType<A> typeA
           
protected  DataType<B> typeB
           
 
Constructor Summary
Union2(DataType<A> typeA, DataType<B> typeB)
          Create an instance of Union2 over the set of specified types.
 
Method Summary
 A decodeA(PositionedByteRange src)
          Read an instance of the first type parameter from buffer src.
 B decodeB(PositionedByteRange src)
          Read an instance of the second type parameter from buffer src.
 Class<Object> encodedClass()
          Inform consumers over what type this DataType operates.
 Order getOrder()
          Retrieve the sort Order imposed by this data type, or null when natural ordering is not preserved.
 boolean isNullable()
          Indicates whether this instance supports encoding null values.
 boolean isOrderPreserving()
          Indicates whether this instance writes encoded byte[]'s which preserve the natural sort order of the unencoded value.
 boolean isSkippable()
          Indicates whether this instance is able to skip over it's encoded value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.hadoop.hbase.types.DataType
decode, encode, encodedLength, skip
 

Field Detail

typeA

protected final DataType<A> typeA

typeB

protected final DataType<B> typeB
Constructor Detail

Union2

public Union2(DataType<A> typeA,
              DataType<B> typeB)
Create an instance of Union2 over the set of specified types.

Method Detail

isOrderPreserving

public boolean isOrderPreserving()
Description copied from interface: DataType
Indicates whether this instance writes encoded byte[]'s which preserve the natural sort order of the unencoded value.

Specified by:
isOrderPreserving in interface DataType<Object>
Returns:
true when natural order is preserved, false otherwise.

getOrder

public Order getOrder()
Description copied from interface: DataType
Retrieve the sort Order imposed by this data type, or null when natural ordering is not preserved. Value is either ascending or descending. Default is assumed to be Order.ASCENDING.

Specified by:
getOrder in interface DataType<Object>

isNullable

public boolean isNullable()
Description copied from interface: DataType
Indicates whether this instance supports encoding null values. This depends on the implementation details of the encoding format. All DataTypes that support null should treat null as comparing less than any non-null value for default sort ordering purposes.

Specified by:
isNullable in interface DataType<Object>
Returns:
true when null is supported, false otherwise.

isSkippable

public boolean isSkippable()
Description copied from interface: DataType
Indicates whether this instance is able to skip over it's encoded value. DataTypes that are not skippable can only be used as the right-most field of a Struct.

Specified by:
isSkippable in interface DataType<Object>

encodedClass

public Class<Object> encodedClass()
Description copied from interface: DataType
Inform consumers over what type this DataType operates. Useful when working with bare DataType instances.

Specified by:
encodedClass in interface DataType<Object>

decodeA

public A decodeA(PositionedByteRange src)
Read an instance of the first type parameter from buffer src.


decodeB

public B decodeB(PositionedByteRange src)
Read an instance of the second type parameter from buffer src.



Copyright © 2013 The Apache Software Foundation. All Rights Reserved.