| Interface | Description | 
|---|---|
| SystemAdmin | Helper interface attached to an underlying system to fetch information about
 streams, partitions, offsets, etc. | 
| SystemConsumer | 
 SystemConsumer is the interface that must be implemented by any system that
 wishes to integrate with Samza. | 
| SystemFactory | Build the  SystemConsumerandSystemProducerfor
 a particular system, as well as the accompanyingSystemAdmin. | 
| SystemProducer | SystemProducers are how Samza writes messages from  StreamTasks to outside systems,
 such as messaging systems like Kafka, or file systems. | 
| SystemStreamPartitionMatcher | 
| Class | Description | 
|---|---|
| BoundedSSPIterator | Iterates over messages in the provided  SystemStreamPartitionusing the providedSystemConsumeruntil all messages with offsets up to and including theendOffsethave been consumed. | 
| ChangelogSSPIterator | Iterates over messages in the provided changelog  SystemStreamPartitionusing the providedSystemConsumeruntil all messages have been consumed. | 
| ControlMessage | The abstract class of all control messages, containing
 the task that produces the control message, the total number of producer tasks,
 and a version number. | 
| EndOfStreamMessage | The EndOfStreamMessage is a control message that is sent out to next stage
  once the task has consumed to the end of a bounded stream. | 
| IncomingMessageEnvelope | This class represents a message envelope that is received by a StreamTask for each message that is received from a
 partition of a specific input stream. | 
| OutgoingMessageEnvelope | An OutgoingMessageEnvelope is sent to a specified  SystemStreamvia the appropriateSystemProducerfrom the user'sStreamTask. | 
| StreamSpec | StreamSpec is a blueprint for creating, validating, or simply describing a stream in the runtime environment. | 
| SystemStream | Streams in Samza consist of both the stream name and the system to which the stream belongs. | 
| SystemStreamMetadata | SystemAdmins use this class to return useful metadata about a stream's offset
 and partition information. | 
| SystemStreamMetadata.SystemStreamPartitionMetadata | Provides offset information for a given SystemStreamPartition. | 
| SystemStreamPartition | Aggregate object representing a both the  SystemStreamandPartition. | 
| SystemStreamPartitionIterator | Iteratorthat wraps aSystemConsumerto iterate over the messages
 the consumer provides for the specifiedSystemStreamPartition. | 
| WatermarkMessage | The WatermarkMessage is a control message that is sent out to next stage
  with a watermark timestamp and the task that produces the watermark. | 
| Enum | Description | 
|---|---|
| ChangelogSSPIterator.Mode | |
| MessageType | The type of the intermediate stream message. | 
| SystemStreamMetadata.OffsetType | OffsetType is an enum used to define which offset should be used when
 reading from a SystemStreamPartition for the first time. | 
| Exception | Description | 
|---|---|
| StreamValidationException | |
| SystemProducerException |