View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   //CabaWeb
3   //Copyright (C) 2004  Thomas Vogt <Thomas.Vogt@TVC-Software.com>
4   //
5   //This library is free software; you can redistribute it and/or
6   //modify it under the terms of the GNU Lesser General Public
7   //License as published by the Free Software Foundation; either
8   //version 2.1 of the License, or (at your option) any later version.
9   //
10  //This library 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 GNU
13  //Lesser General Public License for more details.
14  //
15  //You should have received a copy of the GNU Lesser General Public
16  //License along with this library; if not, write to the Free Software
17  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  ////////////////////////////////////////////////////////////////////////////////
19  
20  package org.fhw.cabaweb.ojb.interfaces;
21  
22  import java.util.Collection;
23  
24  /***
25   * Interface-Klasse f&uuml;r die OJB Kapselung der Datenbankoperationen
26   *
27   * @author  <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
28   * @version Version 1.0 11.04.2004
29   */
30  public interface UseCase
31  {
32      /***
33       * Methode zum Umsetzen der gelieferten Strings in ein OJB Objekt
34       * und erzeugen des Persistenzobjektes
35       *
36       * @param   arg Das Objekt das persistent werden soll
37       * @return  Gibt true zurueck wenn der Vorgang erfolgreich abgeschlossen wurde, sonst false.
38       */
39      public abstract boolean erzeugen(Object arg);
40  
41      /***
42       * Methode zum Umsetzen der gelieferten Strings in ein OJB Objekt
43       * und editieren des bereits bestehenden Persistenzobjektes, dass
44       * Anhand seines Promary Keys indentifiziert wird
45       *
46       * @param   arg Das Objekt das editiert werden soll
47       * @return  Gibt true zurueck wenn der Vorgang erfolgreich abgeschlossen wurde, sonst false.
48       */
49      public abstract boolean editieren(Object arg);
50  
51      /***
52       * Methode zum loeschen eines OJB Objekts
53       *
54       * @param   arg Das Objekt das gelöscht werden soll
55       * @return  Gibt true zurueck wenn der Vorgang erfolgreich abgeschlossen wurde, sonst false.
56       */
57      public abstract boolean loeschen(Object arg);
58  
59      /***
60       * Methode zum suchen eines OJB Objekts nach PrimaryKey
61       *
62       * @param   arg Das Objekt mit den PrimaryKeys nach denen gesucht werden soll
63       * @return  Object mit dem Inhalt des gesuchten Objekts
64       */
65      public abstract Object sucheObjekt(Object arg);
66  
67      /***
68       * Methode zum suchen mehrerer OJB Objekte
69       *
70       * @param   arg Das Objekt mit den Argumenten nach denen gesucht werden soll
71       * @return  Collection mit den gefundenen Objekten
72       */
73      public abstract Collection sucheObjekte(Object arg);
74  
75      /***
76       * Methode zur Suche aller Persistenzobjekte einer Klasse
77       *
78       * @param   suche Die Klasse deren Objekte gesucht werden sollen
79       * @return  Collection mit allen Persistenzobjekten der Klasse
80       */
81      public abstract Collection sucheAlle(Class suche);
82  
83      /***
84       * Methode zum Aufräumen des Transaktionscaches
85       *
86       * @return  Wurde der Cache aufgeräumt ??
87       */
88      public abstract boolean clearCache();
89  }