|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.amazon.carbonado.raw.GenericStorableCodec<S>
public class GenericStorableCodec<S extends Storable>
Generic codec that supports any kind of storable by auto-generating and caching storable implementations.
GenericStorableCodecFactory| Nested Class Summary | |
|---|---|
static interface |
GenericStorableCodec.Decoder<S extends Storable>
Used for decoding different generations of Storable. |
static interface |
GenericStorableCodec.SearchKeyFactory<S extends Storable>
Creates custom raw search keys for Storable types. |
| Method Summary | |
|---|---|
byte[] |
encodePrimaryKey(Object[] values)
Encode a key by extracting all the primary key properties from the given storable. |
byte[] |
encodePrimaryKey(Object[] values,
int rangeStart,
int rangeEnd)
Encode a key by extracting all the primary key properties from the given storable. |
byte[] |
encodePrimaryKey(S storable)
Encode a key by extracting all the primary key properties from the given storable. |
byte[] |
encodePrimaryKey(S storable,
int rangeStart,
int rangeEnd)
Encode a key by extracting all the primary key properties from the given storable. |
byte[] |
encodePrimaryKeyPrefix()
Encode the primary key for when there are no values, but there may be a prefix. |
GenericStorableCodec.Decoder<S> |
getDecoder(int generation)
Returns a data decoder for the given generation. |
StorableIndex<S> |
getPrimaryKeyIndex()
Returns the sequence and directions of properties that make up the primary key. |
int |
getPrimaryKeyPrefixLength()
Returns the number of prefix bytes in the primary key, which may be zero. |
GenericStorableCodec.SearchKeyFactory<S> |
getSearchKeyFactory(OrderedProperty<S>[] properties)
Returns a search key factory, which is useful for implementing indexes and queries. |
Class<? extends S> |
getStorableClass()
Returns a concrete Storable implementation, which is fully thread-safe. |
Class<S> |
getStorableType()
Returns the type of Storable that code is generated for. |
RawSupport<S> |
getSupport()
Returns the default RawSupport object that is supplied to
Storable instances produced by this codec. |
S |
instantiate()
Instantiate a Storable with no key or value defined yet. |
S |
instantiate(byte[] key,
byte[] value)
Instantiate a Storable with a specific key and value. |
S |
instantiate(RawSupport<S> support)
Instantiate a Storable with no key or value defined yet. |
S |
instantiate(RawSupport<S> support,
byte[] key,
byte[] value)
Instantiate a Storable with a specific key and value. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public final Class<S> getStorableType()
getStorableType in interface StorableCodec<S extends Storable>public S instantiate()
RawSupport is supplied to the instance.
instantiate in interface StorableCodec<S extends Storable>IllegalStateException - if no default support exists
public S instantiate(byte[] key,
byte[] value)
throws FetchException
RawSupport is supplied to the instance.
instantiate in interface StorableCodec<S extends Storable>IllegalStateException - if no default support exists
FetchExceptionpublic S instantiate(RawSupport<S> support)
RawSupport can be supplied to the instance.
instantiate in interface StorableCodec<S extends Storable>support - binds generated storable with a storage layer
public S instantiate(RawSupport<S> support,
byte[] key,
byte[] value)
throws FetchException
RawSupport can be supplied to the instance.
instantiate in interface StorableCodec<S extends Storable>support - binds generated storable with a storage layer
FetchExceptionpublic StorableIndex<S> getPrimaryKeyIndex()
StorableCodec
getPrimaryKeyIndex in interface StorableCodec<S extends Storable>public int getPrimaryKeyPrefixLength()
StorableCodec
getPrimaryKeyPrefixLength in interface StorableCodec<S extends Storable>public byte[] encodePrimaryKey(S storable)
StorableCodec
encodePrimaryKey in interface StorableCodec<S extends Storable>storable - extract primary key properties from this instance
public byte[] encodePrimaryKey(S storable,
int rangeStart,
int rangeEnd)
StorableCodec
encodePrimaryKey in interface StorableCodec<S extends Storable>storable - extract primary key properties from this instancerangeStart - index of first property to use. Its value must be less
than the count of primary key properties.rangeEnd - index of last property to use, exlusive. Its value must
be less than or equal to the count of primary key properties.
public byte[] encodePrimaryKey(Object[] values)
StorableCodec
encodePrimaryKey in interface StorableCodec<S extends Storable>values - values to build into a key. It must be long enough to
accommodate all primary key properties.
public byte[] encodePrimaryKey(Object[] values,
int rangeStart,
int rangeEnd)
StorableCodec
encodePrimaryKey in interface StorableCodec<S extends Storable>values - values to build into a key. The length may be less than
the amount of primary key properties used by this factory. It must not
be less than the difference between rangeStart and rangeEnd.rangeStart - index of first property to use. Its value must be less
than the count of primary key properties.rangeEnd - index of last property to use, exlusive. Its value must
be less than or equal to the count of primary key properties.
public byte[] encodePrimaryKeyPrefix()
StorableCodec
encodePrimaryKeyPrefix in interface StorableCodec<S extends Storable>public RawSupport<S> getSupport()
StorableCodecRawSupport object that is supplied to
Storable instances produced by this codec.
getSupport in interface StorableCodec<S extends Storable>public Class<? extends S> getStorableClass()
public <init>(Storage, RawSupport); public <init>(Storage, RawSupport, byte[] key, byte[] value);Convenience methods are provided in this class to instantiate the generated Storable.
public GenericStorableCodec.SearchKeyFactory<S> getSearchKeyFactory(OrderedProperty<S>[] properties)
properties - properties to build the search key from
public GenericStorableCodec.Decoder<S> getDecoder(int generation)
throws FetchNoneException,
FetchException
FetchNoneException - if generation is unknown
FetchException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||