info.archinnov.achilles.generated.dsl.EntityWithDSESearch_Select Maven / Gradle / Ivy
package info.archinnov.achilles.generated.dsl;
import com.datastax.driver.core.querybuilder.QueryBuilder;
import com.datastax.driver.core.querybuilder.Select;
import info.archinnov.achilles.generated.meta.entity.EntityWithDSESearch_AchillesMeta;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelect;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectColumns;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectColumnsTypeMap;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectFrom;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectFromTypeMap;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectWhere;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectWherePartition;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectWherePartitionTypeMap;
import info.archinnov.achilles.internals.dsl.query.select.AbstractSelectWhereTypeMap;
import info.archinnov.achilles.internals.entities.EntityWithDSESearch;
import info.archinnov.achilles.internals.metamodel.AbstractEntityProperty;
import info.archinnov.achilles.internals.metamodel.functions.FunctionCall;
import info.archinnov.achilles.internals.options.CassandraOptions;
import info.archinnov.achilles.internals.runtime.RuntimeEngine;
import info.archinnov.achilles.type.SchemaNameProvider;
import info.archinnov.achilles.validation.Validator;
import java.lang.Class;
import java.lang.Integer;
import java.lang.Long;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.lang.SuppressWarnings;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
public final class EntityWithDSESearch_Select extends AbstractSelect {
protected final EntityWithDSESearch_AchillesMeta meta;
protected final Class entityClass = EntityWithDSESearch.class;
public EntityWithDSESearch_Select(RuntimeEngine rte, EntityWithDSESearch_AchillesMeta meta) {
super(rte);
this.meta = meta;
}
/**
* Generate a SELECT ... id ... */
public final EntityWithDSESearch_Select.Cols id() {
select.column("id");
return new EntityWithDSESearch_Select.Cols(select);
}
/**
* Generate a SELECT ... string ... */
public final EntityWithDSESearch_Select.Cols string() {
select.column("string");
return new EntityWithDSESearch_Select.Cols(select);
}
/**
* Generate a SELECT ... numeric ... */
public final EntityWithDSESearch_Select.Cols numeric() {
select.column("numeric");
return new EntityWithDSESearch_Select.Cols(select);
}
/**
* Generate a SELECT ... date ... */
public final EntityWithDSESearch_Select.Cols date() {
select.column("date");
return new EntityWithDSESearch_Select.Cols(select);
}
/**
* Use this method to call a system or user-defined function.
All the system functions are accessible from the {@link info.archinnov.achilles.generated.function.SystemFunctions} class
All the user-defined functions and aggregates are accessible from the {@link info.archinnov.achilles.generated.function.FunctionsRegistry} class
System and user-defined functions accept only appropriate type. To pass in an entity field as function argument, use the generated manager.COLUMNS class which exposes all columns with their appropriate type
Example:
* {@literal @}Table
* public class MyEntity {
*
* ...
*
* {@literal @}Column("value_column")
* private String value;
*
* {@literal @}Column("list_of_string")
* private List strings;
*
* ...
*
* }
*
* {@literal @}FunctionsRegistry
* public interface MyFunctions {
*
* String convertListToJson(List strings);
*
* }
*
*
* ...
*
*
* manager
* .dsl()
* .select()
* // This call will generate SELECT cast(writetime(value_column) as text) AS writetimeOfValueAsString, ...
* .function(SystemFunctions.castAsText(SystemFunctions.writetime(manager.COLUMNS.VALUE)), "writetimeOfValueAsString")
* ...
*
* manager
* .dsl()
* .select()
* // This call will generate SELECT convertlisttojson(list_of_string) AS strings_as_json, ...
* .function(FunctionsRegistry.convertListToJson(manager.COLUMNS.STRINGS), "strings_as_json")
* ...
*
*
*
* @param functionCall the function call object
* @param alias mandatory alias for this function call for easier retrieval from the ResultSet
* @return a built-in function call passed to the QueryBuilder object
*/
public final EntityWithDSESearch_Select.ColsTM function(final FunctionCall functionCall, final String alias) {
functionCall.addToSelect(select, alias);
return new EntityWithDSESearch_Select.ColsTM(select);
}
/**
* Generate ... * FROM ... */
public final EntityWithDSESearch_Select.F allColumns_FromBaseTable() {
final Select.Where where = select.all().from(meta.getKeyspace().orElse("unknown_keyspace_for_" + meta.entityClass.getCanonicalName()), meta.getTableOrViewName()).where();
return new EntityWithDSESearch_Select.F(where, new CassandraOptions());
}
/**
* Generate ... * FROM ... using the given SchemaNameProvider */
public final EntityWithDSESearch_Select.F allColumns_From(final SchemaNameProvider schemaNameProvider) {
final String currentKeyspace = lookupKeyspace(schemaNameProvider, meta.entityClass);
final String currentTable = lookupTable(schemaNameProvider, meta.entityClass);
final Select.Where where = select.all().from(currentKeyspace, currentTable).where();
return new EntityWithDSESearch_Select.F(where, CassandraOptions.withSchemaNameProvider(schemaNameProvider));
}
public class Cols extends AbstractSelectColumns {
public Cols(Select.Selection selection) {
super(selection);
}
/**
* Generate a SELECT ... id ... */
public final EntityWithDSESearch_Select.Cols id() {
selection.column("id");
return this;
}
/**
* Generate a SELECT ... string ... */
public final EntityWithDSESearch_Select.Cols string() {
selection.column("string");
return this;
}
/**
* Generate a SELECT ... numeric ... */
public final EntityWithDSESearch_Select.Cols numeric() {
selection.column("numeric");
return this;
}
/**
* Generate a SELECT ... date ... */
public final EntityWithDSESearch_Select.Cols date() {
selection.column("date");
return this;
}
/**
* Use this method to call a system or user-defined function.
All the system functions are accessible from the {@link info.archinnov.achilles.generated.function.SystemFunctions} class
All the user-defined functions and aggregates are accessible from the {@link info.archinnov.achilles.generated.function.FunctionsRegistry} class
System and user-defined functions accept only appropriate type. To pass in an entity field as function argument, use the generated manager.COLUMNS class which exposes all columns with their appropriate type
Example:
* {@literal @}Table
* public class MyEntity {
*
* ...
*
* {@literal @}Column("value_column")
* private String value;
*
* {@literal @}Column("list_of_string")
* private List strings;
*
* ...
*
* }
*
* {@literal @}FunctionsRegistry
* public interface MyFunctions {
*
* String convertListToJson(List strings);
*
* }
*
*
* ...
*
*
* manager
* .dsl()
* .select()
* // This call will generate SELECT cast(writetime(value_column) as text) AS writetimeOfValueAsString, ...
* .function(SystemFunctions.castAsText(SystemFunctions.writetime(manager.COLUMNS.VALUE)), "writetimeOfValueAsString")
* ...
*
* manager
* .dsl()
* .select()
* // This call will generate SELECT convertlisttojson(list_of_string) AS strings_as_json, ...
* .function(FunctionsRegistry.convertListToJson(manager.COLUMNS.STRINGS), "strings_as_json")
* ...
*
*
*
* @param functionCall the function call object
* @param alias mandatory alias for this function call for easier retrieval from the ResultSet
* @return a built-in function call passed to the QueryBuilder object
*/
public final EntityWithDSESearch_Select.ColsTM function(final FunctionCall functionCall, final String alias) {
functionCall.addToSelect(selection, alias);
return new EntityWithDSESearch_Select.ColsTM(select);
}
/**
* Generate a ... FROM xxx ... */
public final EntityWithDSESearch_Select.F fromBaseTable() {
final Select.Where where = selection.from(meta.getKeyspace().orElse("unknown_keyspace_for_" + meta.entityClass.getCanonicalName()), meta.getTableOrViewName()).where();
return new EntityWithDSESearch_Select.F(where, new CassandraOptions());
}
/**
* Generate a ... FROM xxx ... using the given SchemaNameProvider */
public final EntityWithDSESearch_Select.F from(final SchemaNameProvider schemaNameProvider) {
final String currentKeyspace = lookupKeyspace(schemaNameProvider, meta.entityClass);
final String currentTable = lookupTable(schemaNameProvider, meta.entityClass);
final Select.Where where = selection.from(currentKeyspace, currentTable).where();
return new EntityWithDSESearch_Select.F(where, CassandraOptions.withSchemaNameProvider(schemaNameProvider));
}
}
public class ColsTM extends AbstractSelectColumnsTypeMap {
public ColsTM(Select.Selection selection) {
super(selection);
}
/**
* Generate a SELECT ... id ... */
public final EntityWithDSESearch_Select.ColsTM id() {
selection.column("id");
return this;
}
/**
* Generate a SELECT ... string ... */
public final EntityWithDSESearch_Select.ColsTM string() {
selection.column("string");
return this;
}
/**
* Generate a SELECT ... numeric ... */
public final EntityWithDSESearch_Select.ColsTM numeric() {
selection.column("numeric");
return this;
}
/**
* Generate a SELECT ... date ... */
public final EntityWithDSESearch_Select.ColsTM date() {
selection.column("date");
return this;
}
/**
* Use this method to call a system or user-defined function.
All the system functions are accessible from the {@link info.archinnov.achilles.generated.function.SystemFunctions} class
All the user-defined functions and aggregates are accessible from the {@link info.archinnov.achilles.generated.function.FunctionsRegistry} class
System and user-defined functions accept only appropriate type. To pass in an entity field as function argument, use the generated manager.COLUMNS class which exposes all columns with their appropriate type
Example:
* {@literal @}Table
* public class MyEntity {
*
* ...
*
* {@literal @}Column("value_column")
* private String value;
*
* {@literal @}Column("list_of_string")
* private List strings;
*
* ...
*
* }
*
* {@literal @}FunctionsRegistry
* public interface MyFunctions {
*
* String convertListToJson(List strings);
*
* }
*
*
* ...
*
*
* manager
* .dsl()
* .select()
* // This call will generate SELECT cast(writetime(value_column) as text) AS writetimeOfValueAsString, ...
* .function(SystemFunctions.castAsText(SystemFunctions.writetime(manager.COLUMNS.VALUE)), "writetimeOfValueAsString")
* ...
*
* manager
* .dsl()
* .select()
* // This call will generate SELECT convertlisttojson(list_of_string) AS strings_as_json, ...
* .function(FunctionsRegistry.convertListToJson(manager.COLUMNS.STRINGS), "strings_as_json")
* ...
*
*
*
* @param functionCall the function call object
* @param alias mandatory alias for this function call for easier retrieval from the ResultSet
* @return a built-in function call passed to the QueryBuilder object
*/
public final EntityWithDSESearch_Select.ColsTM function(final FunctionCall functionCall, final String alias) {
functionCall.addToSelect(selection, alias);
return this;
}
/**
* Generate a ... FROM xxx ... */
public final EntityWithDSESearch_Select.F_TM fromBaseTable() {
final Select.Where where = selection.from(meta.getKeyspace().orElse("unknown_keyspace_for_" + meta.entityClass.getCanonicalName()), meta.getTableOrViewName()).where();
return new EntityWithDSESearch_Select.F_TM(where, new CassandraOptions());
}
/**
* Generate a ... FROM xxx ... using the given SchemaNameProvider */
public final EntityWithDSESearch_Select.F_TM from(final SchemaNameProvider schemaNameProvider) {
final String currentKeyspace = lookupKeyspace(schemaNameProvider, meta.entityClass);
final String currentTable = lookupTable(schemaNameProvider, meta.entityClass);
final Select.Where where = selection.from(currentKeyspace, currentTable).where();
return new EntityWithDSESearch_Select.F_TM(where, CassandraOptions.withSchemaNameProvider(schemaNameProvider));
}
}
public class F extends AbstractSelectFrom {
F(Select.Where where, CassandraOptions cassandraOptions) {
super(where, cassandraOptions);
}
/**
* Generate a SELECT ... FROM ... WHERE ... */
public final EntityWithDSESearch_Select.W_Id where() {
return new EntityWithDSESearch_Select.W_Id(where, cassandraOptions);
}
/**
* Generate a SELECT statement without the WHERE clause */
public final EntityWithDSESearch_Select.E without_WHERE_Clause() {
return new EntityWithDSESearch_Select.E(where, cassandraOptions);
}
}
public class F_TM extends AbstractSelectFromTypeMap {
F_TM(Select.Where where, CassandraOptions cassandraOptions) {
super(where, cassandraOptions);
}
/**
* Generate a SELECT ... FROM ... WHERE ... */
public final EntityWithDSESearch_Select.W_TM_Id where() {
return new EntityWithDSESearch_Select.W_TM_Id(where, cassandraOptions);
}
/**
* Generate a SELECT statement without the WHERE clause */
public final EntityWithDSESearch_Select.E_TM without_WHERE_Clause() {
return new EntityWithDSESearch_Select.E_TM(where, cassandraOptions);
}
}
public final class W_Id extends AbstractSelectWherePartition {
public W_Id(Select.Where where, CassandraOptions cassandraOptions) {
super(where, cassandraOptions);
}
public final EntityWithDSESearch_Select.W_Id.Relation id() {
return new EntityWithDSESearch_Select.W_Id.Relation();
}
public final class Relation {
/**
* Generate a SELECT ... FROM ... WHERE ... id = ? */
@SuppressWarnings("static-access")
public final EntityWithDSESearch_Select.E Eq(Long id) {
where.and(QueryBuilder.eq("id", QueryBuilder.bindMarker("id")));
boundValues.add(id);
encodedValues.add(meta.id.encodeFromJava(id, Optional.of(cassandraOptions)));
return new EntityWithDSESearch_Select.E(where, cassandraOptions);
}
/**
* Generate a SELECT ... FROM ... WHERE ... id IN ? */
@SuppressWarnings("static-access")
public final EntityWithDSESearch_Select.E IN(Long... id) {
Validator.validateTrue(ArrayUtils.isNotEmpty(id), "Varargs for field '%s' should not be null/empty", "id");
where.and(QueryBuilder.in("id",QueryBuilder.bindMarker("id")));
final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy