View Javadoc

1   // $Id: UnarchivedProjectSet.java,v 1.3 2004/06/10 10:45:42 powerpete Exp $
2   // [JMP, 01.01.2004] Created this file.
3   package com.pnpconsult.zeiterfassung.actions.user;
4   
5   import java.util.Collection;
6   import java.util.Iterator;
7   import java.util.TreeSet;
8   
9   import com.pnpconsult.zeiterfassung.model.Customer;
10  import com.pnpconsult.zeiterfassung.model.Project;
11  
12  /***
13   * deprecated Don't use such a class-overhead, just use good HQL queries!
14   * 
15   * @author <a href="mailto:powerpete@users.sf.net">Moritz Petersen</a>
16   * @version $Id: UnarchivedProjectSet.java,v 1.3 2004/06/10 10:45:42 powerpete Exp $
17   */
18  class UnarchivedProjectSet extends TreeSet
19  {
20      public boolean add(Object o)
21      {
22          if (checkPredicate(o))
23          {
24              return super.add(o);
25          }
26          return false;
27      }
28  
29      public boolean addAll(Collection c)
30      {
31          boolean result = true;
32          for (Iterator it = c.iterator(); it.hasNext();)
33          {
34              result &= add(it.next());
35          }
36          return c.size() > 0 && result;
37      }
38  
39      private boolean checkPredicate(Object arg0)
40      {
41          Project p = (Project) arg0;
42          if (p.isArchived())
43          {
44              return false;
45          }
46          Customer c = p.getCustomer();
47          if (c == null)
48          {
49              return false;
50          }
51          if (c.isArchived())
52          {
53              return false;
54          }
55          return true;
56      }
57  }