/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.wcs.netbeans.liquiface.model; /* * #%L * Liquiface - GUI for Liquibase * %% * Copyright (C) 2013 Webstar Csoport Kft. * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * 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, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import java.util.ArrayList; import java.util.List; /** * * @author tveki */ public class Model { private List<Table> tables; private int idSeq; public Model(){ this.tables = new ArrayList<Table>(); } public List<Table> getTables() { return tables; } public void addTable(Table table){ tables.add(table); } public Table getTableByName(String name){ for (Table t : tables){ if (t.getName().equals(name)){ return t; } } return null; } public void removeTable(Table table){ tables.remove(table); } public Table getTableById(int id){ for (Table t : tables){ if (t.getId() == id){ return t; } } return null; } public int nextId(){ return ++idSeq; } public int getNumberOfTables(){ return tables.size(); } public List<ForeignKeyConstraint> getReferencingForeignKeys(String tableName, List<Column> columns) { List<ForeignKeyConstraint> referencingList = new ArrayList<ForeignKeyConstraint>(); for (ForeignKeyConstraint fk : getAllForeignKeys()) { if (fk.getReferencedTable().getName().equals(tableName) && fk.getReferencedColumns().equals(columns)) { referencingList.add(fk); } } return referencingList; } public List<ForeignKeyConstraint> getAllForeignKeys() { List<ForeignKeyConstraint> allConstraints = new ArrayList<ForeignKeyConstraint>(); for (Table table : getTables()) { allConstraints.addAll(table.getForeignKeyConstraints()); } return allConstraints; } }