package org.opengroupware.jope.eoaccess;

import java.util.List;
import java.util.Map;

public interface EOSchemaGeneration {
  
  /* constants */
  
  public static final String DropTablesKey   = "DropTables";
  public static final String CreateTablesKey = "CreateTables";

  /* tables */
  
  public List<EOSQLExpression> schemaCreationStatementsForEntities
    (List<EOEntity> _entities, Map<String, Object> options);

  public List<EOSQLExpression> createTableStatementsForEntityGroup
    (List<EOEntity> _group);
  public List<EOSQLExpression> dropTableStatementsForEntityGroup
    (List<EOEntity> _group);
  
  public List<EOSQLExpression> createTableStatementsForEntityGroups
    (List<List<EOEntity>> _groups);
  public List<EOSQLExpression> dropTableStatementsForEntityGroups
    (List<List<EOEntity>> _groups);
}
