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

br.com.objectos.db.SchemaBuilder Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2014-2015 Objectos, Fábrica de Software LTDA.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package br.com.objectos.db;

import java.util.stream.Stream;

/**
 * @author [email protected] (Marcio Endo)
 */
public interface SchemaBuilder extends QueryBuilder {

  SchemaBuilder accept(SchemaElement element);

  SchemaBuilder addColumn(String name);

  SchemaBuilder alterTable(String name);

  SchemaBuilder autoIncrement();

  SchemaBuilder charset(String charset);

  SchemaBuilder charType(int length);

  SchemaBuilder createDatabase(String name);

  SchemaBuilder createDatabaseIfNotExists(String name);

  SchemaBuilder createTable(String name);

  SchemaBuilder datetime();

  SchemaBuilder defaultCurrentTimestamp();

  SchemaBuilder dropColumn(String name);

  SchemaBuilder endCreateTable();

  SchemaBuilder identifier(String name);

  SchemaBuilder intType();

  SchemaBuilderOn on(char separator);

  SchemaBuilder onUpdateCurrentTimestamp();

  SchemaBuilder primaryKey(Iterable elements);

  SchemaBuilder nullable(boolean nullable);

  SchemaBuilder mediumint();

  SchemaBuilder smallint();

  SchemaBuilder tinyint();

  SchemaBuilder unsigned(boolean unsigned);

  SchemaBuilder timestamp();

  SchemaBuilder varchar(int length);

  interface SchemaBuilderOn {

    SchemaBuilder join(Stream stream);

  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy