Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: javatools/db/DbReferencedDeleter.java


1   /*
2       Javatools (modified version) - Some useful general classes.
3       Copyright (C) 2002-2003  Chris Bitmead (original) Antonio Petrelli (modified)
4   
5       This program is free software; you can redistribute it and/or modify
6       it under the terms of the GNU General Public License as published by
7       the Free Software Foundation; either version 2 of the License, or
8       (at your option) any later version.
9   
10      This program is distributed in the hope that it will be useful,
11      but WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13      GNU General Public License for more details.
14  
15      You should have received a copy of the GNU General Public License
16      along with this program; if not, write to the Free Software
17      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  
19      Contact me at: brenmcguire@users.sourceforge.net
20   */
21  package javatools.db;
22  import java.util.*;
23  import java.sql.*;
24  import javatools.util.FileLog;
25  import javatools.util.ArrayComparator;
26  
27  /**
28   * It is just a DbDeleter, except in the fact it takes care of constraints.
29   * @author Antonio Petrelli
30   * @version 0.2.0
31   */
32  
33  public class DbReferencedDeleter extends DbDeleter{
34  
35      /** Creates a new DbReferencedDeleter.
36       * @param table The table to delete rows from.
37       */    
38    DbReferencedDeleter(DbAbstractTable table) {
39              super(table);
40    }
41  
42    /**
43           * Execute this command on the default connection. Eventually cascades its effects
44           * through the table's constraint.
45           *
46           * @return The number of record affected.
47           * @exception DbException If something goes wrong.
48           */
49    public int execute() throws DbException {
50              DbConstraint tempConstraint;
51  
52              tempConstraint = table.getConstraint();
53              if (tempConstraint != null) {
54                  tempConstraint.clear();
55                  tempConstraint.setWhere(where);
56                  return tempConstraint.update(DbConstraint.DELETE_OPERATION);
57              }
58              else
59                  return super.execute();
60    }
61  }