View Javadoc

1   /*
2    * Copyright 2006 Outsource Cafe, Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the 'License')
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *    http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an 'AS IS' BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.javagen.agile.db.visitor;
17  
18  import java.util.Set;
19  
20  import org.javagen.agile.core.util.StringUtil;
21  import org.javagen.agile.core.visitor.Visitor;
22  import org.javagen.agile.db.model.Column;
23  import org.javagen.agile.db.model.ColumnReference;
24  import org.javagen.agile.db.model.Database;
25  import org.javagen.agile.db.model.FkConstraint;
26  import org.javagen.agile.db.model.PkColumn;
27  import org.javagen.agile.db.model.Table;
28  import org.javagen.agile.db.model.UniqueConstraint;
29  
30  public interface DatabaseVisitor extends Visitor {
31  	
32      public static final Set<String> ALL_MODEL_TYPES = StringUtil.toStringSet(new String[] {
33          Database.DEFAULT_MODEL_TYPE,
34          Table.DEFAULT_MODEL_TYPE,
35          Column.DEFAULT_MODEL_TYPE,
36          PkColumn.DEFAULT_MODEL_TYPE,
37          FkConstraint.DEFAULT_MODEL_TYPE,
38          ColumnReference.DEFAULT_MODEL_TYPE,
39          UniqueConstraint.DEFAULT_MODEL_TYPE,
40      });
41              
42      public static final Set<String> NON_FK_MODEL_TYPES = StringUtil.toStringSet(new String[] {
43          Database.DEFAULT_MODEL_TYPE,
44          Table.DEFAULT_MODEL_TYPE,
45          Column.DEFAULT_MODEL_TYPE,
46          PkColumn.DEFAULT_MODEL_TYPE,
47      });
48          
49      public static final Set<String> FK_ONLY_MODEL_TYPES = StringUtil.toStringSet(new String[] {
50          FkConstraint.DEFAULT_MODEL_TYPE,
51          ColumnReference.DEFAULT_MODEL_TYPE,
52          UniqueConstraint.DEFAULT_MODEL_TYPE,
53      });
54  
55  	public void visit(Database database);
56  		
57  	public void visit(Table table);
58  	
59  	public void visit(Column column);
60  	
61  	public void visit(PkColumn pkColumn);
62  	
63  	public void visit(FkConstraint fkConstraint);
64  	
65  	public void visit(ColumnReference columnReference);
66      
67      public void visit(UniqueConstraint uniqueConstraint);
68  	
69  }