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 @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`
`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

## 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