@Override protected void accept0(SQLASTVisitor visitor) { if (visitor.visit(this)) { acceptChild(visitor, this.getName()); acceptChild(visitor, this.getReferencedTableName()); acceptChild(visitor, this.getReferencingColumns()); acceptChild(visitor, this.getReferencedColumns()); } visitor.endVisit(this); }
@Override public boolean visit(SQLForeignKeyImpl x) { if (x.getName() != null) { print0(ucase ? "CONSTRAINT " : "constraint "); x.getName().accept(this); print(' '); } print0(ucase ? "FOREIGN KEY (" : "foreign key ("); printAndAccept(x.getReferencingColumns(), ", "); print(')'); this.indentCount++; println(); print0(ucase ? "REFERENCES " : "references "); x.getReferencedTableName().accept(this); if (x.getReferencedColumns().size() > 0) { print0(" ("); printAndAccept(x.getReferencedColumns(), ", "); print(')'); } if (x.isOnDeleteCascade()) { println(); print0(ucase ? "ON DELETE CASCADE" : "on delete cascade"); } else if (x.isOnDeleteSetNull()) { print0(ucase ? "ON DELETE SET NULL" : "on delete set null"); } this.indentCount--; return false; }
@Override protected void accept0(SQLASTVisitor visitor) { if (visitor.visit(this)) { acceptChild(visitor, this.getName()); acceptChild(visitor, this.getReferencedTableName()); acceptChild(visitor, this.getReferencingColumns()); acceptChild(visitor, this.getReferencedColumns()); } visitor.endVisit(this); }
@Override public boolean visit(SQLForeignKeyImpl x) { if (x.getName() != null) { print0(ucase ? "CONSTRAINT " : "constraint "); x.getName().accept(this); print(' '); } print0(ucase ? "FOREIGN KEY (" : "foreign key ("); printAndAccept(x.getReferencingColumns(), ", "); print(')'); this.indentCount++; println(); print0(ucase ? "REFERENCES " : "references "); x.getReferencedTableName().accept(this); if (x.getReferencedColumns().size() > 0) { print0(" ("); printAndAccept(x.getReferencedColumns(), ", "); print(')'); } if (x.isOnDeleteCascade()) { println(); print0(ucase ? "ON DELETE CASCADE" : "on delete cascade"); } else if (x.isOnDeleteSetNull()) { print0(ucase ? "ON DELETE SET NULL" : "on delete set null"); } this.indentCount--; return false; }