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

br.com.objectos.way.sql.SelectFrom18 Maven / Gradle / Ivy

There is a newer version: 0.4.1
Show newest version
package br.com.objectos.way.sql;

import br.com.objectos.way.db.Dialect;
import br.com.objectos.way.db.IntTypeColumn;
import br.com.objectos.way.db.LocalDateTypeColumn;
import br.com.objectos.way.db.Order;
import br.com.objectos.way.db.Orderable;
import br.com.objectos.way.db.SelectBuilder;
import br.com.objectos.way.db.Selectable;
import br.com.objectos.way.db.SelectableFrom;
import br.com.objectos.way.db.StringTypeColumn;
import java.util.Objects;
import javax.annotation.Generated;

@Generated("br.com.objectos.way.sql.BootProcessor")
public final class SelectFrom18 extends SelectNode> implements SelectFrom {
  private final SelectableFrom table;

  SelectFrom18(Select18 select, SelectableFrom table) {
    super(select);
    this.table = table;
  }

  @Override
  public SimpleSelectQuery18 compile(Dialect dialect) {
    return new SimpleSelectQuery18<>(dialect, this);
  }

  @Override
  public SimpleSelectOrderBy18 orderBy(Orderable o1) {
    return orderBy(o1.asc());
  }

  @Override
  public SimpleSelectOrderBy18 orderBy(Order o1) {
    return orderBy0(o1);
  }

  @Override
  public  SimpleSelectWhere18Int where(X op) {
    Objects.requireNonNull(op);
    return new SimpleSelectWhere18Int<>(this, Keyword.WHERE, op);
  }

  @Override
  public  SimpleSelectWhere18LocalDate where(X op) {
    Objects.requireNonNull(op);
    return new SimpleSelectWhere18LocalDate<>(this, Keyword.WHERE, op);
  }

  @Override
  public  SimpleSelectWhere18String where(X op) {
    Objects.requireNonNull(op);
    return new SimpleSelectWhere18String<>(this, Keyword.WHERE, op);
  }

  @Override
  SelectBuilder write0(SelectBuilder sql) {
    return sql.from(table);
  }

  private SimpleSelectOrderBy18 orderBy0(Order... columns) {
    return new SimpleSelectOrderBy18<>(this, columns);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy