Package org.postgresql.replication.fluent

# Class AbstractStreamBuilder<T extends ChainedCommonStreamBuilder<T>>

java.lang.Object
org.postgresql.replication.fluent.AbstractStreamBuilder<T>

All Implemented Interfaces:
  `ChainedCommonStreamBuilder<T>`

Direct Known Subclasses:
  `LogicalStreamBuilder`, `PhysicalStreamBuilder`

public abstract class AbstractStreamBuilder<T extends ChainedCommonStreamBuilder<T>> extends Object implements ChainedCommonStreamBuilder<T>

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected boolean`
  `automaticFlush`
  `protected @Nullable String`
  `slotName`
  `protected LogSequenceNumber`
  `startPosition`
  `protected int`
  `statusIntervalMs`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractStreamBuilder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract T`
  `self()`
  `T`
  `withAutomaticFlush(boolean automaticFlush)`
  Specify if backend should flush data after receive notification from client.
  `T`
  `withSlotName(String slotName)`
  Replication slots provide an automated way to ensure that the master does not remove WAL segments until they have been received by all standbys, and that the master does not remove rows which could cause a recovery conflict even when the standby is disconnected.
  `T`
  `withStartPosition(LogSequenceNumber lsn)`
  Specify start position from which backend will start stream changes.
  `T`
  `withStatusInterval(int time, TimeUnit format)`
  Specifies the number of time between status packets sent back to the server.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### statusIntervalMs

    protected int statusIntervalMs

  - ### startPosition

    protected LogSequenceNumber startPosition

  - ### slotName

    protected @Nullable String slotName

  - ### automaticFlush

    protected boolean automaticFlush

- ## Constructor Details

  - ### AbstractStreamBuilder

    public AbstractStreamBuilder()

- ## Method Details

  - ### self

    protected abstract T self()

  - ### withStatusInterval

    public T withStatusInterval(int time, TimeUnit format)
    Description copied from interface: `ChainedCommonStreamBuilder`
    Specifies the number of time between status packets sent back to the server. This allows for easier monitoring of the progress from server. A value of zero disables the periodic status updates completely, although an update will still be sent when requested by the server, to avoid timeout disconnect. The default value is 10 seconds.
    Specified by:
      `withStatusInterval` in interface `ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>`
    Parameters:
      `time` - positive time
      `format` - format for specified time
    Returns:
      not null fluent

  - ### withStartPosition

    public T withStartPosition(LogSequenceNumber lsn)
    Description copied from interface: `ChainedCommonStreamBuilder`
    Specify start position from which backend will start stream changes. If parameter will not specify, streaming starts from restart_lsn. For more details see pg_replication_slots description.
    Specified by:
      `withStartPosition` in interface `ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>`
    Parameters:
      `lsn` - not null position from which need start replicate changes
    Returns:
      not null fluent

  - ### withSlotName

    public T withSlotName(String slotName)
    Description copied from interface: `ChainedCommonStreamBuilder`
    Replication slots provide an automated way to ensure that the master does not remove WAL segments until they have been received by all standbys, and that the master does not remove rows which could cause a recovery conflict even when the standby is disconnected.
    Specified by:
      `withSlotName` in interface `ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>`
    Parameters:
      `slotName` - not null replication slot already exists on server.
    Returns:
      this instance as a fluent interface

  - ### withAutomaticFlush

    public T withAutomaticFlush(boolean automaticFlush)
    Description copied from interface: `ChainedCommonStreamBuilder`
    Specify if backend should flush data after receive notification from client.
    Specified by:
      `withAutomaticFlush` in interface `ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>`
    Parameters:
      `automaticFlush` - true if advance FlushLSN to ServerLSN data after receive notification
    Returns:
      not null fluent