| Interface | Description | 
|---|---|
| BatchingStateRestoreCallback | Interface for batching restoration of a  StateStoreIt is expected that implementations of this class will not call theStateRestoreCallback.restore(byte[],
 byte[])method. | 
| Cancellable | Cancellable interface returned in  ProcessorContext.schedule(long, PunctuationType, Punctuator). | 
| PartitionGrouper | A partition grouper that generates partition groups given the list of topic-partitions. | 
| Processor<K,V> | A processor of key-value pair records. | 
| ProcessorContext | Processor context interface. | 
| ProcessorSupplier<K,V> | A processor supplier that can create one or more  Processorinstances. | 
| Punctuator | A functional interface used as an argument to  ProcessorContext.schedule(long, PunctuationType, Punctuator). | 
| RecordContext | The context associated with the current record being processed by
 an  Processor | 
| StateRestoreCallback | Restoration logic for log-backed state stores upon restart,
 it takes one record at a time from the logs to apply to the restoring state. | 
| StateRestoreListener | Class for listening to various states of the restoration process of a StateStore. | 
| StateStore | A storage engine for managing state maintained by a stream processor. | 
| StateStoreSupplier<T extends StateStore> | Deprecated. use  StoreSupplier | 
| StreamPartitioner<K,V> | Determine how records are distributed among the partitions in a Kafka topic. | 
| TimestampExtractor | An interface that allows the Kafka Streams framework to extract a timestamp from an instance of  ConsumerRecord. | 
| TopicNameExtractor<K,V> | An interface that allows to dynamically determine the name of the Kafka topic to send at the sink node of the topology. | 
| Class | Description | 
|---|---|
| AbstractNotifyingBatchingRestoreCallback | Abstract implementation of the   BatchingStateRestoreCallbackused for batch restoration operations. | 
| AbstractNotifyingRestoreCallback | Abstract implementation of the   StateRestoreCallbackused for batch restoration operations. | 
| AbstractProcessor<K,V> | An abstract implementation of  Processorthat manages theProcessorContextinstance and provides default no-op
 implementation ofAbstractProcessor.close(). | 
| DefaultPartitionGrouper | Default implementation of the  PartitionGrouperinterface that groups partitions by the partition id. | 
| FailOnInvalidTimestamp | Retrieves embedded metadata timestamps from Kafka messages. | 
| LogAndSkipOnInvalidTimestamp | Retrieves embedded metadata timestamps from Kafka messages. | 
| MockProcessorContext | MockProcessorContextis a mock ofProcessorContextfor users to test theirProcessor,Transformer, andValueTransformerimplementations. | 
| MockProcessorContext.CapturedForward | |
| MockProcessorContext.CapturedPunctuator | MockProcessorContext.CapturedPunctuatorholds captured punctuators, along with their scheduling information. | 
| TaskId | The task ID representation composed as topic group ID plus the assigned partition ID. | 
| TaskMetadata | Represents the state of a single task running within a  KafkaStreamsapplication. | 
| ThreadMetadata | Represents the state of a single thread running within a  KafkaStreamsapplication. | 
| To | This class is used to provide the optional parameters when sending output records to downstream processor
 using  ProcessorContext.forward(Object, Object, To). | 
| UsePreviousTimeOnInvalidTimestamp | Retrieves embedded metadata timestamps from Kafka messages. | 
| WallclockTimestampExtractor | Retrieves current wall clock timestamps as  System.currentTimeMillis(). | 
| Enum | Description | 
|---|---|
| PunctuationType | Controls what notion of time is used for punctuation scheduled via  ProcessorContext.schedule(long, PunctuationType, Punctuator)schedule}:
 
   STREAM_TIME - uses "stream time", which is advanced by the processing of messages
   in accordance with the timestamp as extracted by theTimestampExtractorin use. |