View Javadoc

1   /*
2   Copyright (c) 2011 James Ahlborn
3   
4   This library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License.
8   
9   This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  Lesser General Public License for more details.
13  
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
17  USA
18  */
19  
20  package com.healthmarketscience.sqlbuilder.dbspec;
21  
22  import java.util.List;
23  
24  /**
25   * Maintains information about a database (table or column) constraint for use
26   * with the sqlbuilder utilities.
27   *
28   * @author James Ahlborn
29   */
30  public interface Constraint 
31  {
32    public enum Type {
33      NOT_NULL,
34      UNIQUE,
35      PRIMARY_KEY,
36      FOREIGN_KEY;
37    }
38  
39    /** @return the type of this constraint */
40    public Type getType();
41  
42    /** @return the name of this constraint, if any */
43    public String getConstraintNameSQL();
44  
45    /** @return the constrained columns */
46    public List<? extends Column> getColumns();
47  }