Source code: com/virtuosotechnologies/asaph/model/opsemantics/TruePredicateSemantics.java
1 /*
2 ================================================================================
3
4 FILE: TruePredicateSemantics.java
5
6 PROJECT:
7
8 Asaph
9
10 CONTENTS:
11
12 A PredicateSemantics that sets every value to Boolean.TRUE.
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.opsemantics;
43
44
45 import java.util.Iterator;
46
47 import com.virtuosotechnologies.asaph.model.SongIDResultSet;
48 import com.virtuosotechnologies.asaph.model.SongDatabaseFailedException;
49
50
51 /**
52 * A PredicateSemantics that sets every value to Boolean.TRUE.
53 */
54 public interface TruePredicateSemantics
55 extends PredicateSemantics
56 {
57 /**
58 * The default implementation of TruePredicateSemantics
59 */
60 public static class DefaultImplementation
61 implements TruePredicateSemantics
62 {
63 /**
64 * Performs the operation on the given result set.
65 *
66 * @param resultSet the SongIDResultSet
67 * @exception SongDatabaseFailedException Catch-all exception for database-related
68 * problems. This will often have a cause exception, which may be exceptions
69 * like IOException or SQLException.
70 */
71 public void perform(
72 SongIDResultSet resultSet)
73 throws
74 SongDatabaseFailedException
75 {
76 for (Iterator iter = resultSet.getEntryCollection().iterator(); iter.hasNext(); )
77 {
78 SongIDResultSet.Entry entry = (SongIDResultSet.Entry)iter.next();
79 entry.setData(Boolean.TRUE);
80 }
81 }
82
83
84 /**
85 * The equals method should return true if the given object is a SongOperation
86 * with the same semantics as this one. (i.e. it would perform the same operation.)
87 * This may be used to optimize performance. It is always safe to return false from
88 * this method, if the semantics of the given object cannot be determined.
89 * (This is similar to the equals method in java.util.Comparator.)
90 * As a corollary, it is safe just to fall back on the default implementation
91 * inherited from java.lang.Object.
92 *
93 * @param obj object to test
94 * @return true if the object is equal
95 */
96 public boolean equals(
97 Object obj)
98 {
99 return obj instanceof TruePredicateSemantics;
100 }
101 }
102 }