All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.QueriesTransferMode Maven / Gradle / Ivy

The newest version!
package eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql;

import java.util.Collections;
import java.util.List;
import java.util.Map;

import eu.clarussecure.proxy.spi.CString;

public class QueriesTransferMode {
    private TransferMode transferMode;
    private Map> newQueries;
    private R response;
    private Map errorDetails;

    public QueriesTransferMode(TransferMode transferMode, Q newQuery) {
        this(transferMode, Collections.singletonList(newQuery));
    }

    public QueriesTransferMode(TransferMode transferMode, List newQueries) {
        this(transferMode, newQueries, null, null);
    }

    public QueriesTransferMode(TransferMode transferMode, List newQueries, R response) {
        this(transferMode, newQueries, response, null);
    }

    public QueriesTransferMode(TransferMode transferMode, List newQueries, R response,
            Map errorDetails) {
        this(transferMode, Collections.singletonMap(0, newQueries), response, errorDetails);
    }

    public QueriesTransferMode(TransferMode transferMode, Map> newDirectedQueries) {
        this(transferMode, newDirectedQueries, null, null);
    }

    public QueriesTransferMode(TransferMode transferMode, Map> newDirectedQueries, R response) {
        this(transferMode, newDirectedQueries, response, null);
    }

    public QueriesTransferMode(TransferMode transferMode, Map> newQueries, R response,
            Map errorDetails) {
        this.transferMode = transferMode;
        this.newQueries = newQueries;
        this.response = response;
        this.errorDetails = errorDetails;
    }

    public TransferMode getTransferMode() {
        return transferMode;
    }

    public void setTransferMode(TransferMode transferMode) {
        this.transferMode = transferMode;
    }

    public List getNewQueries() {
        return newQueries == null ? Collections.emptyList() : newQueries.get(0);
    }

    @SuppressWarnings("unchecked")
    public Q getLastNewQuery() {
        return newQueries == null || newQueries.isEmpty() || newQueries.get(0).isEmpty() ? null
                : (Q) newQueries.get(0).get(newQueries.get(0).size() - 1);
    }

    public void setNewQueries(List newQueries) {
        setNewDirectedQueries(Collections.singletonMap(0, newQueries));
    }

    public Map> getNewDirectedQueries() {
        return newQueries;
    }

    public void setNewDirectedQueries(Map> newDirectedQueries) {
        this.newQueries = newDirectedQueries;
    }

    public R getResponse() {
        return response;
    }

    public void setResponse(R response) {
        this.response = response;
    }

    public Map getErrorDetails() {
        return errorDetails;
    }

    public void setErrorDetails(Map error) {
        this.errorDetails = error;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy