
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