Initial revision
[mir.git] / source / mir / entity / Entity.java
1 /*
2  * put your module comment here
3  */
4
5
6 package mir.entity;
7
8 import java.lang.*;
9 import java.util.*;
10 import mir.storage.*;
11
12 /**
13  * Interface-Definition für Entities
14  */
15
16 public interface Entity {
17
18         /**
19          * Eine Entity muss setStorage implementieren, mit der eine Entity mit einem
20          * StorageObject assoziiert wird.
21          *
22          * @param st
23          */
24         public abstract void setStorage (StorageObject st);
25
26
27
28         /**
29          * Eine Entity muss setValues implementieren, mit der die Werte der Entity gesetzt werden
30          * können.
31          *
32          * @param ht
33          */
34                 public abstract void setValues(HashMap ht);
35
36
37
38         /**
39          * Eine Entity muss getValues implementieren, mit der die Werte der Entity
40          * als HashMap zurueckgeliefert werden
41          * @return Werte der Entity
42          */
43                 public abstract HashMap getValues();
44
45
46
47         /**
48          * Eine Entity muss getFields implementieren, mit der die Feldnamen der
49          * Entity zurueckgegeben werden.
50          * @return ArrayList der Feldnamen
51          * @exception StorageObjectException
52          */
53         public abstract ArrayList getFields () throws StorageObjectException;
54
55
56
57         /**
58          * Eine Entity muss getTypes implementieren, mit der die Feldtype der
59          * Entity zurueckgegeben werden.
60          * @return int[] der Feldtypen
61          * @exception StorageObjectException
62          */
63         public abstract int[] getTypes () throws StorageObjectException;
64
65
66
67         /**
68          * Eine Entity muss getLabels implementieren, mit der die Feldnamen der
69          * Entity zurueckgegeben werden.
70          * @return ArrayList der Feldnamen
71          * @exception StorageObjectException
72          */
73         public abstract ArrayList getLabels () throws StorageObjectException;
74
75
76
77         /**
78          * Eine Entity muss getId implementieren, um den Primaerschuessel der
79          * Entity zurueckgeliefert zu bekommen.
80          *
81          * @return Primary-Key der Entity
82          */
83                 public abstract String getId();
84
85
86
87         /**
88          * Eine Entity muss setId implementieren, um den Primaerschuessel der
89          * Entity zu setzen
90          *
91          * @param str
92          */
93                 public abstract void setId(String str);
94
95
96         /**
97          * Eine Entity muss getValue implementieren, um den Wert eines
98          * Feldes zurueckzugeben
99          *
100          * @param field
101          * @return Wert von Feld field
102          */
103         public abstract String getValue (String field);
104
105
106
107         /**
108          * Einfügen der Entity in StorageObject
109          *
110          * @return Primary-Key der eingefügten Entity
111          * @exception StorageObjectException
112          */
113         public abstract String insert () throws StorageObjectException;
114
115
116
117         /**
118          * Aktualisieren der Entity via StorageObject
119          * @exception StorageObjectException
120          */
121         public abstract void update () throws StorageObjectException;
122
123
124
125         /**
126          * ArrayListe mit Feldern, die einer Sonderbehandlung bedürfen (blobs)
127          * @return Liste der Feldnamen
128          */
129         public abstract ArrayList streamedInput ();
130
131
132         public abstract void setValueForProperty (String theProp, String theValue) throws StorageObjectException;
133
134
135 }
136
137
138
139