@Experimental(value=STATE) public class StateSpecs extends java.lang.Object
StateSpecs.| Modifier and Type | Method and Description | 
|---|---|
| static <T> StateSpec<BagState<T>> | bag() | 
| static <T> StateSpec<BagState<T>> | bag(Coder<T> elemCoder)Identical to  bag(), but with an element coder explicitly supplied. | 
| static <InputT,AccumT,OutputT> | combining(Coder<AccumT> accumCoder,
         Combine.CombineFn<InputT,AccumT,OutputT> combineFn)Identical to  #combining(CombineFn), but with an accumulator coder explicitly supplied. | 
| static <InputT,AccumT,OutputT> | combining(Coder<AccumT> accumCoder,
         CombineWithContext.CombineFnWithContext<InputT,AccumT,OutputT> combineFn)For internal use only; no backwards compatibility guarantees | 
| static <InputT,AccumT,OutputT> | combining(Combine.CombineFn<InputT,AccumT,OutputT> combineFn)Create a  StateSpecfor aCombiningStatewhich uses aCombine.CombineFnto
 automatically merge multiple values of typeInputTinto a single resultingOutputT. | 
| static <InputT,AccumT,OutputT> | combining(CombineWithContext.CombineFnWithContext<InputT,AccumT,OutputT> combineFn)For internal use only; no backwards compatibility guarantees | 
| static <InputT,AccumT,OutputT> | combiningFromInputInternal(Coder<InputT> inputCoder,
                          Combine.CombineFn<InputT,AccumT,OutputT> combineFn)For internal use only; no backwards-compatibility guarantees. | 
| static <InputT,AccumT,OutputT> | convertToBagSpecInternal(StateSpec<CombiningState<InputT,AccumT,OutputT>> combiningSpec)For internal use only; no backwards-compatibility guarantees. | 
| static <K,V> StateSpec<MapState<K,V>> | map() | 
| static <K,V> StateSpec<MapState<K,V>> | map(Coder<K> keyCoder,
   Coder<V> valueCoder)Identical to  map(), but with key and value coders explicitly supplied. | 
| static StateSpec<BagState<Row>> | rowBag(Schema schema) | 
| static StateSpec<MapState<Row,Row>> | rowMap(Schema keySchema,
      Schema valueSchema) | 
| static StateSpec<SetState<Row>> | rowSet(Schema schema) | 
| static StateSpec<ValueState<Row>> | rowValue(Schema schema)Create a  StateSpecfor a row value with the specified schema. | 
| static <T> StateSpec<SetState<T>> | set() | 
| static <T> StateSpec<SetState<T>> | set(Coder<T> elemCoder)Identical to  set(), but with an element coder explicitly supplied. | 
| static <T> StateSpec<ValueState<T>> | value()Create a  StateSpecfor a single value of typeT. | 
| static <T> StateSpec<ValueState<T>> | value(Coder<T> valueCoder)Identical to  value(), but with a coder explicitly supplied. | 
| static StateSpec<WatermarkHoldState> | watermarkStateInternal(TimestampCombiner timestampCombiner)For internal use only; no backwards-compatibility guarantees. | 
public static <T> StateSpec<ValueState<T>> value()
StateSpec for a single value of type T.
 This method attempts to infer the value coder automatically.
If the value type has a schema registered, then the schema will be used to encode the values.
value(Coder)public static StateSpec<ValueState<Row>> rowValue(Schema schema)
StateSpec for a row value with the specified schema.public static <T> StateSpec<ValueState<T>> value(Coder<T> valueCoder)
value(), but with a coder explicitly supplied.
 If automatic coder inference fails, use this method.
public static <InputT,AccumT,OutputT> StateSpec<CombiningState<InputT,AccumT,OutputT>> combining(Combine.CombineFn<InputT,AccumT,OutputT> combineFn)
StateSpec for a CombiningState which uses a Combine.CombineFn to
 automatically merge multiple values of type InputT into a single resulting OutputT.
 This method attempts to infer the accumulator coder automatically.
#combining(Coder, CombineFn)@Internal public static <InputT,AccumT,OutputT> StateSpec<CombiningState<InputT,AccumT,OutputT>> combining(CombineWithContext.CombineFnWithContext<InputT,AccumT,OutputT> combineFn)
Create a StateSpec for a CombiningState which uses a CombineWithContext.CombineFnWithContext to automatically merge multiple values of type InputT into a
 single resulting OutputT.
 
This method attempts to infer the accumulator coder automatically.
#combining(Coder, CombineFnWithContext)public static <InputT,AccumT,OutputT> StateSpec<CombiningState<InputT,AccumT,OutputT>> combining(Coder<AccumT> accumCoder, Combine.CombineFn<InputT,AccumT,OutputT> combineFn)
#combining(CombineFn), but with an accumulator coder explicitly supplied.
 If automatic coder inference fails, use this method.
@Internal public static <InputT,AccumT,OutputT> StateSpec<CombiningState<InputT,AccumT,OutputT>> combining(Coder<AccumT> accumCoder, CombineWithContext.CombineFnWithContext<InputT,AccumT,OutputT> combineFn)
Identical to #combining(CombineFnWithContext), but with an accumulator coder
 explicitly supplied.
 
If automatic coder inference fails, use this method.
public static <T> StateSpec<BagState<T>> bag()
StateSpec for a BagState, optimized for adding values frequently and
 occasionally retrieving all the values that have been added.
 This method attempts to infer the element coder automatically.
If the element type has a schema registered, then the schema will be used to encode the values.
bag(Coder)public static <T> StateSpec<BagState<T>> bag(Coder<T> elemCoder)
bag(), but with an element coder explicitly supplied.
 If automatic coder inference fails, use this method.
public static <T> StateSpec<SetState<T>> set()
StateSpec for a SetState, optimized for checking membership.
 This method attempts to infer the element coder automatically.
If the element type has a schema registered, then the schema will be used to encode the values.
set(Coder)public static <T> StateSpec<SetState<T>> set(Coder<T> elemCoder)
set(), but with an element coder explicitly supplied.
 If automatic coder inference fails, use this method.
public static <K,V> StateSpec<MapState<K,V>> map()
StateSpec for a SetState, optimized for key lookups and writes.
 This method attempts to infer the key and value coders automatically.
If the key and value types have schemas registered, then the schemas will be used to encode the elements.
map(Coder, Coder)public static StateSpec<MapState<Row,Row>> rowMap(Schema keySchema, Schema valueSchema)
StateSpec for a SetState, optimized for key lookups and writes.
 This method is for storing maps where both the keys and the values are rows with the specified schemas.
map(Coder, Coder)public static <K,V> StateSpec<MapState<K,V>> map(Coder<K> keyCoder, Coder<V> valueCoder)
map(), but with key and value coders explicitly supplied.
 If automatic coder inference fails, use this method.
@Internal public static <InputT,AccumT,OutputT> StateSpec<CombiningState<InputT,AccumT,OutputT>> combiningFromInputInternal(Coder<InputT> inputCoder, Combine.CombineFn<InputT,AccumT,OutputT> combineFn)
Create a state spec for values that use a Combine.CombineFn to automatically merge multiple
 InputTs into a single OutputT.
 
This determines the Coder<AccumT> from the given Coder<InputT>, and should
 only be used to initialize static values.
@Internal public static StateSpec<WatermarkHoldState> watermarkStateInternal(TimestampCombiner timestampCombiner)
Create a state spec for a watermark hold.
@Internal public static <InputT,AccumT,OutputT> StateSpec<BagState<AccumT>> convertToBagSpecInternal(StateSpec<CombiningState<InputT,AccumT,OutputT>> combiningSpec)
Convert a combining state spec to a bag of accumulators.