org.postgresql.replication.fluent.AbstractStreamBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of postgresql Show documentation
Show all versions of postgresql Show documentation
The PostgreSQL Driver JDBC4
/*
* Copyright (c) 2016, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.replication.fluent;
import org.postgresql.replication.LogSequenceNumber;
import java.util.concurrent.TimeUnit;
public abstract class AbstractStreamBuilder>
implements ChainedCommonStreamBuilder {
private static final int DEFAULT_STATUS_INTERVAL = (int) TimeUnit.SECONDS.toMillis(10L);
protected int statusIntervalMs = DEFAULT_STATUS_INTERVAL;
protected LogSequenceNumber startPosition = LogSequenceNumber.INVALID_LSN;
protected String slotName;
protected abstract T self();
@Override
public T withStatusInterval(int time, TimeUnit format) {
statusIntervalMs = (int) TimeUnit.MILLISECONDS.convert(time, format);
return self();
}
@Override
public T withStartPosition(LogSequenceNumber lsn) {
this.startPosition = lsn;
return self();
}
@Override
public T withSlotName(String slotName) {
this.slotName = slotName;
return self();
}
}