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

Quick Search    Search Deep

Source code: com/virtuosotechnologies/asaph/model/SongOperation.java


1   /*
2   ================================================================================
3   
4     FILE:  SongOperation.java
5     
6     PROJECT:
7     
8       Asaph
9     
10    CONTENTS:
11    
12      An operation to perform on songs
13    
14    PROGRAMMERS:
15    
16      Daniel Azuma (DA)  <dazuma@kagi.com>
17    
18    COPYRIGHT:
19    
20      Copyright (C) 2003  Daniel Azuma  (dazuma@kagi.com)
21      
22      This program is free software; you can redistribute it and/or
23      modify it under the terms of the GNU General Public License as
24      published by the Free Software Foundation; either version 2
25      of the License, or (at your option) any later version.
26      
27      This program is distributed in the hope that it will be useful,
28      but WITHOUT ANY WARRANTY; without even the implied warranty of
29      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30      GNU General Public License for more details.
31      
32      You should have received a copy of the GNU General Public
33      License along with this program; if not, write to
34        Free Software Foundation, Inc.
35        59 Temple Place, Suite 330
36        Boston, MA 02111-1307 USA
37  
38  ================================================================================
39  */
40  
41  
42  package com.virtuosotechnologies.asaph.model;
43  
44  
45  /**
46   * An operation to perform on SongIDResultSets.
47   * This interface merely specifies that this object implements an operation. Most
48   * operation also implement a particular OpSemantics interface to indicate
49   * to the database implementation the kind of operation, so the database can
50   * substitute an optimized implementation if it so chooses.
51   */
52  public interface SongOperation
53  {
54    /**
55     * Performs the operation on the given result set.
56     *
57     * @param resultSet the SongIDResultSet
58     * @exception SongDatabaseFailedException Catch-all exception for database-related
59     *     problems. This will often have a cause exception, which may be exceptions
60     *     like IOException or SQLException.
61     */
62    public void perform(
63      SongIDResultSet resultSet)
64    throws
65      SongDatabaseFailedException;
66    
67    
68    /**
69     * The equals method should return true if the given object is a SongOperation
70     * with the same semantics as this one. (i.e. it would perform the same operation.)
71     * This may be used to optimize performance. It is always safe to return false from
72     * this method, if the semantics of the given object cannot be determined.
73     * (This is similar to the equals method in java.util.Comparator.)
74     * As a corollary, it is safe just to fall back on the default implementation
75     * inherited from java.lang.Object.
76     *
77     * @param obj object to test
78     * @return true if the object is equal
79     */
80    public boolean equals(
81      Object obj);
82  }