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

com.easy.query.api.proxy.client.DefaultEasyProxyQuery Maven / Gradle / Ivy

package com.easy.query.api.proxy.client;

import com.easy.query.api.proxy.entity.delete.EntityOnlyDeletable;
import com.easy.query.api.proxy.entity.delete.ExpressionDeletable;
import com.easy.query.api.proxy.entity.delete.impl.EasyEntityOnlyDeletable;
import com.easy.query.api.proxy.entity.delete.impl.EasyExpressionDeletable;
import com.easy.query.api.proxy.entity.insert.EasyEntityOnlyInsertable;
import com.easy.query.api.proxy.entity.insert.EntityOnlyInsertable;
import com.easy.query.api.proxy.entity.select.EntityQueryable;
import com.easy.query.api.proxy.entity.select.impl.EasyEntityQueryable;
import com.easy.query.api.proxy.entity.update.EntityOnlyUpdatable;
import com.easy.query.api.proxy.entity.update.ExpressionUpdatable;
import com.easy.query.api.proxy.entity.update.impl.EasyEntityOnlyUpdate;
import com.easy.query.api.proxy.entity.update.impl.EasyExpressionUpdatable;
import com.easy.query.core.api.client.EasyQueryClient;
import com.easy.query.core.proxy.ProxyEntity;

import java.util.Collection;

/**
 * create time 2023/6/24 11:45
 * 文件说明
 *
 * @author xuejiaming
 */
public class DefaultEasyProxyQuery implements EasyProxyQuery {

    private final EasyQueryClient easyQueryClient;

    public DefaultEasyProxyQuery(EasyQueryClient easyQueryClient) {
        this.easyQueryClient = easyQueryClient;
    }
    @Override
    public , T> EntityQueryable queryable(TProxy table) {
        return new EasyEntityQueryable<>(table,easyQueryClient.queryable(table.getEntityClass()));
    }

    @Override
    public , T> EntityQueryable queryable(String sql, TProxy table) {
        return new EasyEntityQueryable<>(table, easyQueryClient.queryable(sql, table.getEntityClass()));
    }

    @Override
    public  EntityOnlyInsertable insertable(T entity) {
        return new EasyEntityOnlyInsertable<>(easyQueryClient.insertable(entity));
    }

    @Override
    public  EntityOnlyInsertable insertable(Collection entities) {
        return new EasyEntityOnlyInsertable<>(easyQueryClient.insertable(entities));
    }

    @Override
    public , T> ExpressionUpdatable updatable(TProxy table) {
        return new EasyExpressionUpdatable<>(table,easyQueryClient.updatable(table.getEntityClass()));
    }

    @Override
    public  EntityOnlyUpdatable updatable(T entity) {
        return new EasyEntityOnlyUpdate<>(easyQueryClient.updatable(entity));
    }

    @Override
    public  EntityOnlyUpdatable updatable(Collection entities) {
        return new EasyEntityOnlyUpdate<>(easyQueryClient.updatable(entities));
    }

    @Override
    public  EntityOnlyDeletable deletable(T entity) {
        return new EasyEntityOnlyDeletable<>(easyQueryClient.deletable(entity));
    }

    @Override
    public  EntityOnlyDeletable deletable(Collection entities) {
        return new EasyEntityOnlyDeletable<>(easyQueryClient.deletable(entities));
    }

    @Override
    public , T> ExpressionDeletable deletable(TProxy table) {
        return new EasyExpressionDeletable<>(table,easyQueryClient.deletable(table.getEntityClass()));
    }

    @Override
    public EasyQueryClient getEasyQueryClient() {
        return easyQueryClient;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy