/* * _____________________________________________________________________________ * * INAF - OATS National Institute for Astrophysics - Astronomical Observatory of * Trieste INAF - IA2 Italian Center for Astronomical Archives * _____________________________________________________________________________ * * Copyright (C) 2017 Istituto Nazionale di Astrofisica * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License Version 3 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package it.inaf.ia2.tsm.datalayer; import it.inaf.ia2.tsm.Key; import it.inaf.ia2.tsm.TapSchema; import it.inaf.ia2.tsm.TapSchemaEntity; import it.inaf.ia2.tsm.model.TableModel; import it.inaf.ia2.tsm.model.TapSchemaModel; import java.sql.Connection; import java.sql.SQLException; import java.util.List; import java.util.Map; /** * * @author Sonia Zorba {@literal } */ public interface DBBroker { List getAllSchemaNames() throws SQLException; List getAllTAPSchemaNames(List allSchemas) throws SQLException; String detectVersion(String tapSchemaName) throws SQLException; List getExposedSchemas(String tapSchemaName) throws SQLException; List getAllTablesNames(String schemaName) throws SQLException; Map getAllTableTypes(String schemaName) throws SQLException; List getAllColumnsNames(String schemaName, String tableName) throws SQLException; Map> getAllColumnsMetadata(String schemaName, String tableSimpleName) throws SQLException; List getKeys(TapSchema tapSchema, String schemaName) throws SQLException; List> getSavedItems(String tapSchemaName, TableModel tableModel, String whereCondition, Object[] whereParams) throws SQLException; List> getSavedItems(String tapSchemaName, TableModel tableModel) throws SQLException; void insertItem(String tapSchemaName, TapSchemaEntity entity, Connection conn) throws SQLException; void updateItem(String tapSchemaName, TapSchemaEntity entity, Connection conn, String whereCondition, Object... whereParams) throws SQLException; void createTapSchemaStructure(String tapSchemaName, TapSchemaModel tapSchemaModel) throws SQLException; void save(TapSchema tapSchema) throws SQLException; }