com.amazon.redshift.replication.fluent.physical.PhysicalStreamBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift-jdbc42 Show documentation
Show all versions of redshift-jdbc42 Show documentation
Java JDBC 4.2 (JRE 8+) driver for Redshift database
/*
* Copyright (c) 2016, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package com.amazon.redshift.replication.fluent.physical;
import com.amazon.redshift.replication.LogSequenceNumber;
import com.amazon.redshift.replication.RedshiftReplicationStream;
import com.amazon.redshift.replication.fluent.AbstractStreamBuilder;
import java.sql.SQLException;
public class PhysicalStreamBuilder extends AbstractStreamBuilder
implements ChainedPhysicalStreamBuilder, PhysicalReplicationOptions {
private final StartPhysicalReplicationCallback startCallback;
/**
* @param startCallback not null callback that should be execute after build parameters for start
* replication
*/
public PhysicalStreamBuilder(StartPhysicalReplicationCallback startCallback) {
this.startCallback = startCallback;
}
@Override
protected ChainedPhysicalStreamBuilder self() {
return this;
}
@Override
public RedshiftReplicationStream start() throws SQLException {
return this.startCallback.start(this);
}
@Override
public String getSlotName() {
return slotName;
}
@Override
public LogSequenceNumber getStartLSNPosition() {
return startPosition;
}
@Override
public int getStatusInterval() {
return statusIntervalMs;
}
}