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

info.archinnov.achilles.generated.dsl.EntityWithNestedUDT_Delete Maven / Gradle / Ivy

package info.archinnov.achilles.generated.dsl;

import com.datastax.driver.core.querybuilder.Delete;
import com.datastax.driver.core.querybuilder.NotEq;
import com.datastax.driver.core.querybuilder.QueryBuilder;
import info.archinnov.achilles.generated.meta.entity.EntityWithNestedUDT_AchillesMeta;
import info.archinnov.achilles.internals.entities.EntityWithNestedUDT;
import info.archinnov.achilles.internals.entities.UDTWithNestedUDT;
import info.archinnov.achilles.internals.entities.UDTWithNoKeyspace;
import info.archinnov.achilles.internals.metamodel.AbstractEntityProperty;
import info.archinnov.achilles.internals.options.Options;
import info.archinnov.achilles.internals.query.dsl.delete.AbstractDelete;
import info.archinnov.achilles.internals.query.dsl.delete.AbstractDeleteColumns;
import info.archinnov.achilles.internals.query.dsl.delete.AbstractDeleteEnd;
import info.archinnov.achilles.internals.query.dsl.delete.AbstractDeleteFrom;
import info.archinnov.achilles.internals.query.dsl.delete.AbstractDeleteWherePartition;
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.Long;
import java.lang.Object;
import java.lang.Override;
import java.lang.SuppressWarnings;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;

public final class EntityWithNestedUDT_Delete extends AbstractDelete {
  protected final EntityWithNestedUDT_AchillesMeta meta;

  protected final Class entityClass = EntityWithNestedUDT.class;

  public EntityWithNestedUDT_Delete(RuntimeEngine rte, EntityWithNestedUDT_AchillesMeta meta) {
    super(rte);
    this.meta = meta;
  }

  /**
   * Generate DELETE udt ... */
  public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteColumns udt() {
    delete.column("udt");
    return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteColumns(delete);
  }

  /**
   * Generate DELETE complexudt ... */
  public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteColumns complexUDT() {
    delete.column("complexudt");
    return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteColumns(delete);
  }

  /**
   * Generate ... * FROM ... */
  public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom allColumns_FromBaseTable() {
    final Delete.Where where = delete.all().from(meta.getKeyspace().orElse("unknown_keyspace_for_" + meta.entityClass.getCanonicalName()), meta.getTableOrViewName()).where();
    return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom(where);
  }

  /**
   * Generate ... * FROM ... using the given SchemaNameProvider */
  public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom allColumns_From(final SchemaNameProvider schemaNameProvider) {
    final String currentKeyspace = lookupKeyspace(schemaNameProvider, meta.entityClass);
    final String currentTable = lookupTable(schemaNameProvider, meta.entityClass);
    final Delete.Where where = delete.all().from(currentKeyspace, currentTable).where();
    return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom(where);
  }

  public class EntityWithNestedUDT_DeleteColumns extends AbstractDeleteColumns {
    EntityWithNestedUDT_DeleteColumns(Delete.Selection deleteColumns) {
      super(deleteColumns);
    }

    /**
     * Generate DELETE udt ... */
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteColumns udt() {
      delete.column("udt");
      return this;
    }

    /**
     * Generate DELETE complexudt ... */
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteColumns complexUDT() {
      delete.column("complexudt");
      return this;
    }

    /**
     * Generate a ... FROM xxx ...  */
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom fromBaseTable() {
      final Delete.Where where = deleteColumns.from(meta.getKeyspace().orElse("unknown_keyspace_for_" + meta.entityClass.getCanonicalName()), meta.getTableOrViewName()).where();
      return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom(where);
    }

    /**
     * Generate a ... FROM xxx ... using the given SchemaNameProvider */
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom from(final SchemaNameProvider schemaNameProvider) {
      final String currentKeyspace = lookupKeyspace(schemaNameProvider, meta.entityClass);
      final String currentTable = lookupTable(schemaNameProvider, meta.entityClass);
      final Delete.Where where = deleteColumns.from(currentKeyspace, currentTable).where();
      return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteFrom(where);
    }
  }

  public class EntityWithNestedUDT_DeleteFrom extends AbstractDeleteFrom {
    EntityWithNestedUDT_DeleteFrom(Delete.Where where) {
      super(where);
    }

    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteWhere_Id where() {
      return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteWhere_Id(where);
    }
  }

  public final class EntityWithNestedUDT_DeleteWhere_Id extends AbstractDeleteWherePartition {
    public EntityWithNestedUDT_DeleteWhere_Id(Delete.Where where) {
      super(where);
    }

    /**
     * Generate a SELECT ... FROM ... WHERE ... id = ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd id_Eq(Long id) {
      where.and(QueryBuilder.eq("id", QueryBuilder.bindMarker("id_Eq")));
      boundValues.add(id);
      encodedValues.add(meta.id.encodeFromJava(id));
      return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd(where);
    }

    /**
     * Generate a SELECT ... FROM ... WHERE ... id IN ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd id_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 varargs = Arrays.asList((Object[])id);
      final List encodedVarargs = Arrays.stream((Long[])id).map(x -> meta.id.encodeFromJava(x)).collect(Collectors.toList());
      boundValues.add(varargs);
      encodedValues.add(encodedVarargs);
      return new EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd(where);
    }
  }

  public final class EntityWithNestedUDT_DeleteEnd extends AbstractDeleteEnd {
    public EntityWithNestedUDT_DeleteEnd(Delete.Where where) {
      super(where);
    }

    @Override
    protected final Class getEntityClass() {
      return entityClass;
    }

    @Override
    protected final AbstractEntityProperty getMetaInternal() {
      return meta;
    }

    @Override
    protected final RuntimeEngine getRte() {
      return rte;
    }

    @Override
    protected final Options getOptions() {
      return options;
    }

    @Override
    protected final List getBoundValuesInternal() {
      return boundValues;
    }

    @Override
    protected final List getEncodedValuesInternal() {
      return encodedValues;
    }

    @Override
    protected final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd getThis() {
      return this;
    }

    /**
     * Generate an ... IF udt = ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifUdt_Eq(final UDTWithNoKeyspace udt) {
      boundValues.add(udt);
      encodedValues.add(meta.udt.encodeFromJava(udt));
      where.onlyIf(QueryBuilder.eq("udt", QueryBuilder.bindMarker("udt")));
      return this;
    }

    /**
     * Generate an ... IF udt > ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifUdt_Gt(final UDTWithNoKeyspace udt) {
      boundValues.add(udt);
      encodedValues.add(meta.udt.encodeFromJava(udt));
      where.onlyIf(QueryBuilder.gt("udt", QueryBuilder.bindMarker("udt")));
      return this;
    }

    /**
     * Generate an ... IF udt >= ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifUdt_Gte(final UDTWithNoKeyspace udt) {
      boundValues.add(udt);
      encodedValues.add(meta.udt.encodeFromJava(udt));
      where.onlyIf(QueryBuilder.gte("udt", QueryBuilder.bindMarker("udt")));
      return this;
    }

    /**
     * Generate an ... IF udt < ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifUdt_Lt(final UDTWithNoKeyspace udt) {
      boundValues.add(udt);
      encodedValues.add(meta.udt.encodeFromJava(udt));
      where.onlyIf(QueryBuilder.lt("udt", QueryBuilder.bindMarker("udt")));
      return this;
    }

    /**
     * Generate an ... IF udt <= ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifUdt_Lte(final UDTWithNoKeyspace udt) {
      boundValues.add(udt);
      encodedValues.add(meta.udt.encodeFromJava(udt));
      where.onlyIf(QueryBuilder.lte("udt", QueryBuilder.bindMarker("udt")));
      return this;
    }

    /**
     * Generate an  ... IF udt != ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifUdt_NotEq(final UDTWithNoKeyspace udt) {
      boundValues.add(udt);
      encodedValues.add(meta.udt.encodeFromJava(udt));
      where.onlyIf(NotEq.of("udt", QueryBuilder.bindMarker("udt")));
      return this;
    }

    /**
     * Generate an ... IF complexUDT = ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifComplexUDT_Eq(final UDTWithNestedUDT complexUDT) {
      boundValues.add(complexUDT);
      encodedValues.add(meta.complexUDT.encodeFromJava(complexUDT));
      where.onlyIf(QueryBuilder.eq("complexudt", QueryBuilder.bindMarker("complexudt")));
      return this;
    }

    /**
     * Generate an ... IF complexUDT > ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifComplexUDT_Gt(final UDTWithNestedUDT complexUDT) {
      boundValues.add(complexUDT);
      encodedValues.add(meta.complexUDT.encodeFromJava(complexUDT));
      where.onlyIf(QueryBuilder.gt("complexudt", QueryBuilder.bindMarker("complexudt")));
      return this;
    }

    /**
     * Generate an ... IF complexUDT >= ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifComplexUDT_Gte(final UDTWithNestedUDT complexUDT) {
      boundValues.add(complexUDT);
      encodedValues.add(meta.complexUDT.encodeFromJava(complexUDT));
      where.onlyIf(QueryBuilder.gte("complexudt", QueryBuilder.bindMarker("complexudt")));
      return this;
    }

    /**
     * Generate an ... IF complexUDT < ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifComplexUDT_Lt(final UDTWithNestedUDT complexUDT) {
      boundValues.add(complexUDT);
      encodedValues.add(meta.complexUDT.encodeFromJava(complexUDT));
      where.onlyIf(QueryBuilder.lt("complexudt", QueryBuilder.bindMarker("complexudt")));
      return this;
    }

    /**
     * Generate an ... IF complexUDT <= ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifComplexUDT_Lte(final UDTWithNestedUDT complexUDT) {
      boundValues.add(complexUDT);
      encodedValues.add(meta.complexUDT.encodeFromJava(complexUDT));
      where.onlyIf(QueryBuilder.lte("complexudt", QueryBuilder.bindMarker("complexudt")));
      return this;
    }

    /**
     * Generate an  ... IF complexUDT != ? */
    @SuppressWarnings("static-access")
    public final EntityWithNestedUDT_Delete.EntityWithNestedUDT_DeleteEnd ifComplexUDT_NotEq(final UDTWithNestedUDT complexUDT) {
      boundValues.add(complexUDT);
      encodedValues.add(meta.complexUDT.encodeFromJava(complexUDT));
      where.onlyIf(NotEq.of("complexudt", QueryBuilder.bindMarker("complexudt")));
      return this;
    }
  }
}