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

db.sql.api.cmd.executor.IUpdate Maven / Gradle / Ivy

There is a newer version: 1.7.6-RC2
Show newest version
package db.sql.api.cmd.executor;

import db.sql.api.Cmd;
import db.sql.api.cmd.JoinMode;
import db.sql.api.cmd.basic.IDataset;
import db.sql.api.cmd.basic.IDatasetField;
import db.sql.api.cmd.basic.ITable;
import db.sql.api.cmd.basic.ITableField;
import db.sql.api.cmd.executor.method.IFromMethod;
import db.sql.api.cmd.executor.method.IJoinMethod;
import db.sql.api.cmd.executor.method.IUpdateMethod;
import db.sql.api.cmd.executor.method.IWhereMethod;
import db.sql.api.cmd.struct.IFrom;
import db.sql.api.cmd.struct.IJoin;
import db.sql.api.cmd.struct.IOn;
import db.sql.api.cmd.struct.IWhere;
import db.sql.api.cmd.struct.conditionChain.IConditionChain;
import db.sql.api.cmd.struct.update.IUpdateTable;

import java.util.function.Consumer;

public interface IUpdate,
        TABLE_FIELD extends ITableField,
        COLUMN extends Cmd,
        V,
        CONDITION_CHAIN extends IConditionChain,
        UPDATE_TABLE extends IUpdateTable,
        FROM extends IFrom,
        JOIN extends IJoin,
        ON extends IOn,
        WHERE extends IWhere
        >

        extends IUpdateMethod,
        IFromMethod,
        IJoinMethod,
        IWhereMethod,
        IExecutor {


    UPDATE_TABLE $update(TABLE... tables);

    , DATASET_FIELD extends IDatasetField> FROM $from(IDataset... tables);

    JOIN $join(JoinMode mode, IDataset mainTable, IDataset secondTable);

    WHERE $where();

    @Override
    default SELF update(TABLE... tables) {
        $update(tables);
        return (SELF) this;
    }

    SELF update(Class entity, Consumer
consumer); @Override default , DATASET_FIELD extends IDatasetField> SELF from(IDataset... tables) { $from(tables); return (SELF) this; } @Override default CONDITION_CHAIN conditionChain() { return $where().conditionChain(); } }