com.ninja_squad.dbsetup.operation
Class Truncate

java.lang.Object
  extended by com.ninja_squad.dbsetup.operation.Truncate
All Implemented Interfaces:
Operation

@Immutable
public final class Truncate
extends java.lang.Object
implements Operation

An operation which deletes everything from a given database table using a TRUNCATE statement., which is sometimes faster that using a DELETE statement.


Method Summary
 boolean equals(java.lang.Object obj)
           
 void execute(java.sql.Connection connection, BinderConfiguration configuration)
          Executes the operation
 int hashCode()
           
static Truncate table(java.lang.String table)
          Returns an operation which truncates the given table.
static Operation tables(java.util.List<java.lang.String> tables)
          Returns a composite operation which truncates the given tables, in the same order as the tables.
static Operation tables(java.lang.String... tables)
          Returns a composite operation which truncates the given tables, in the same order as the tables.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

execute

public void execute(java.sql.Connection connection,
                    BinderConfiguration configuration)
             throws java.sql.SQLException
Description copied from interface: Operation
Executes the operation

Specified by:
execute in interface Operation
Parameters:
connection - the connection used to execute the operation
configuration - the binder configuration, used to get appropriate binders based on the metadata of the prepared statements
Throws:
java.sql.SQLException - if the execution throws a SQLException

table

public static Truncate table(@Nonnull
                             java.lang.String table)
Returns an operation which truncates the given table.

Parameters:
table - the table to delete everything from.

tables

public static Operation tables(java.lang.String... tables)
Returns a composite operation which truncates the given tables, in the same order as the tables. If A has a foreign key to B, which has a foreign key to C, tables should be listed in the following order: A, B, C. Otherwise, referential constraint will break. If there is a cycle in the dependencies, you might want to use a sequence of SqlOperation to disable the foreign key constraints, then truncate the tables, then use another sequence of SqlOperation to re-enable the foreign key constraints.

Parameters:
tables - the tables to truncate.

tables

public static Operation tables(java.util.List<java.lang.String> tables)
Returns a composite operation which truncates the given tables, in the same order as the tables. If A has a foreign key to B, which has a foreign key to C, tables should be listed in the following order: A, B, C. Otherwise, referential constraint will break. If there is a cycle in the dependencies, you might want to use a sequence of SqlOperation to disable the foreign key constraints, then truncate the tables, then use another sequence of SqlOperation to re-enable the foreign key constraints.

Parameters:
tables - the tables to truncate.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object