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

com.easy.query.api.proxy.entity.select.impl.EasyColumnsQueryable Maven / Gradle / Ivy

//package com.easy.query.api.proxy.entity.select.impl;
//
//import com.easy.query.core.annotation.NotNull;
//import com.easy.query.core.api.pagination.EasyPageResult;
//import com.easy.query.core.basic.api.select.Query;
//import com.easy.query.core.basic.jdbc.executor.internal.enumerable.JdbcStreamResult;
//import com.easy.query.core.basic.jdbc.parameter.ToSQLContext;
//import com.easy.query.core.basic.pagination.EasyPageResultProvider;
//import com.easy.query.core.context.QueryRuntimeContext;
//import com.easy.query.core.enums.sharding.ConnectionModeEnum;
//import com.easy.query.core.expression.lambda.SQLConsumer;
//import com.easy.query.core.expression.sql.builder.EntityQueryExpressionBuilder;
//import com.easy.query.core.metadata.EntityMetadata;
//import com.easy.query.core.metadata.EntityMetadataManager;
//import com.easy.query.core.metadata.NavigateMetadata;
//import com.easy.query.core.util.EasyObjectUtil;
//
//import java.sql.Statement;
//import java.util.ArrayList;
//import java.util.Collection;
//import java.util.List;
//import java.util.Map;
//import java.util.function.Supplier;
//import java.util.stream.Collectors;
//
///**
// * create time 2024/2/24 21:53
// * 文件说明
// *
// * @author xuejiaming
// */
//public class EasyColumnsQueryable implements Query> {
//
//    private final Query queryable;
//    private final String navValue;
//    private final NavigateMetadata navigateMetadata;
//    private final QueryRuntimeContext runtimeContext;
//
//    public EasyColumnsQueryable(Query queryable, String navValue) {
//
//        this.queryable = queryable;
//        this.navValue = navValue;
//        this.runtimeContext = queryable.getSQLEntityExpressionBuilder().getRuntimeContext();
//        EntityMetadataManager entityMetadataManager = runtimeContext.getEntityMetadataManager();
//        this.navigateMetadata = entityMetadataManager.getEntityMetadata(queryable.queryClass()).getNavigateNotNull(navValue);
//    }
//
//    @Override
//    public Query> cloneQueryable() {
//        return new EasyColumnsQueryable<>(queryable.cloneQueryable(),navValue);
//    }
//
//    @Override
//    public EntityQueryExpressionBuilder getSQLEntityExpressionBuilder() {
//        return queryable.getSQLEntityExpressionBuilder();
//    }
//
//    @Override
//    public Query> select(String columns) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public  String toSQL(Class resultClass, ToSQLContext toSQLContext) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public long count() {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public boolean any() {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> distinct(boolean condition) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> limit(boolean condition, long offset, long rows) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> asTracking() {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> asNoTracking() {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> useShardingConfigure(int maxShardingQueryLimit, ConnectionModeEnum connectionMode) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> useMaxShardingQueryLimit(int maxShardingQueryLimit) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Query> useConnectionMode(ConnectionModeEnum connectionMode) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public Class> queryClass() {
//        return EasyObjectUtil.typeCastNullable(List.class);
//    }
//
//    @Override
//    public List findOrNull(Object id) {
//        Object entity = queryable.findOrNull(id);
//        return getNavigates(entity);
//    }
//
//    private  TResult getNavigates(Object entity) {
//        if (entity != null) {
//            Collection values = EasyObjectUtil.typeCastNullable(navigateMetadata.getGetter().apply(entity));
//            if (values == null) {
//                return null;
//            }
//            return EasyObjectUtil.typeCastNullable(new ArrayList<>(values));
//        }
//        return null;
//    }
//
//    @Override
//    public List findNotNull(Object id, Supplier throwFunc) {
//        Object entity = queryable.findNotNull(id, throwFunc);
//        return getNavigates(entity);
//    }
//
//    @Override
//    public  TR firstOrNull(Class resultClass) {
//        Object entity = queryable.firstOrNull(queryable.queryClass());
//        return getNavigates(entity);
//    }
//
//    @NotNull
//    @Override
//    public  TR firstNotNull(Class resultClass, Supplier throwFunc) {
//        Object entity = queryable.firstNotNull(queryable.queryClass(), throwFunc);
//        return getNavigates(entity);
//    }
//
//    @Override
//    public  List toList(Class resultClass) {
//        List entities = queryable.toList(queryable.queryClass());
//        return entities.stream().map(o -> {
//            return this.getNavigates(o);
//        }).collect(Collectors.toList());
//    }
//
//    @Override
//    public Map toMap() {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public List> toMaps() {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public  EasyPageResult toPageResult(Class tResultClass, long pageIndex, long pageSize, long pageTotal) {
//
//        EasyPageResult pageResult = queryable.toPageResult(queryable.queryClass(), pageIndex, pageIndex, pageTotal);
//        EasyPageResultProvider easyPageResultProvider = runtimeContext.getEasyPageResultProvider();
//        List data = pageResult.getData().stream().map(o -> {
//            return this.getNavigates(o);
//        }).collect(Collectors.toList());
//        return easyPageResultProvider.createPageResult(pageIndex, pageSize, pageResult.getTotal(), data);
//    }
//
//    @Override
//    public  EasyPageResult toShardingPageResult(Class tResultClass, long pageIndex, long pageSize, List totalLines) {
//        throw new UnsupportedOperationException();
//    }
//
//    @Override
//    public  TR singleOrNull(Class resultClass) {
//        Object entity = queryable.singleOrNull(queryable.queryClass());
//        return getNavigates(entity);
//    }
//
//    @Override
//    public  TR singleNotNull(Class resultClass, Supplier throwFunc) {
//        Object entity = queryable.singleNotNull(queryable.queryClass(),throwFunc);
//        return getNavigates(entity);
//    }
//
//    @Override
//    public  JdbcStreamResult toStreamResult(Class resultClass, SQLConsumer configurer) {
//        throw new UnsupportedOperationException();
//    }
//}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy