com.amazon.redshift.replication.fluent.AbstractCreateSlotBuilder 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
The newest version!
/*
* Copyright (c) 2016, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package com.amazon.redshift.replication.fluent;
import com.amazon.redshift.core.BaseConnection;
import com.amazon.redshift.core.ServerVersion;
import com.amazon.redshift.util.GT;
import java.sql.SQLFeatureNotSupportedException;
public abstract class AbstractCreateSlotBuilder>
implements ChainedCommonCreateSlotBuilder {
protected String slotName;
protected boolean temporaryOption = false;
protected BaseConnection connection;
protected AbstractCreateSlotBuilder(BaseConnection connection) {
this.connection = connection;
}
protected abstract T self();
@Override
public T withSlotName(String slotName) {
this.slotName = slotName;
return self();
}
@Override
public T withTemporaryOption() throws SQLFeatureNotSupportedException {
if (!connection.haveMinimumServerVersion(ServerVersion.v10)) {
throw new SQLFeatureNotSupportedException(
GT.tr("Server does not support temporary replication slots")
);
}
this.temporaryOption = true;
return self();
}
}