package net.sourceforge.mayfly.datastore.constraint; import java.io.IOException; import java.io.Writer; import net.sourceforge.mayfly.MayflyException; import net.sourceforge.mayfly.datastore.Cell; import net.sourceforge.mayfly.datastore.DataStore; import net.sourceforge.mayfly.datastore.TableReference; public class NoAction extends Action { @Override public DataStore handleDelete(Cell oldValue, DataStore store, String referencerSchema, String referencerTable, String referencerColumn, TableReference targetTable, String targetColumn) { throw new MayflyException( "foreign key violation: table " + referencerTable + " refers to " + targetColumn + " " + oldValue.asBriefString() + " in " + targetTable.tableName()); } @Override public DataStore handleUpdate(Cell oldValue, Cell newValue, DataStore store, String referencerSchema, String referencerTable, String referencerColumn, TableReference targetTable, String targetColumn) { return handleDelete(oldValue, store, referencerSchema, referencerTable, referencerColumn, targetTable, targetColumn); } @Override public void dump(Writer out) throws IOException { out.write("NO ACTION"); } }