1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 }