commit | author | age
|
081606
|
1 |
/* |
U |
2 |
* To change this license header, choose License Headers in Project Properties. |
|
3 |
* To change this template file, choose Tools | Templates |
|
4 |
* and open the template in the editor. |
|
5 |
*/ |
|
6 |
package de.uhilger.mediaz.store; |
|
7 |
|
|
8 |
import de.uhilger.mediaz.entity.Entity; |
|
9 |
import java.util.List; |
|
10 |
|
|
11 |
/** |
|
12 |
* Eine Ablage, die wie folgt organisiert ist |
|
13 |
* |
|
14 |
* [Ort]/[Typ]/[Name] |
|
15 |
* |
|
16 |
* Ort ist der Ablagort, an dem sich die folgende Struktur findet |
|
17 |
* Typ ist eine der Klassen der Package entity |
|
18 |
* Name muss identisch mit dem Element laut Entity.getName() sein |
|
19 |
* |
|
20 |
* @author Ulrich Hilger |
|
21 |
* @version 1, 5.4.2021 |
|
22 |
*/ |
|
23 |
public interface Storage { |
|
24 |
|
|
25 |
/** |
|
26 |
* Ein Objekt in die Ablage schreiben |
|
27 |
* @param e das Objekt, das geschrieben werden soll |
|
28 |
* @return ein Antwortobjekt oder null |
|
29 |
*/ |
|
30 |
public Object write(Entity e); |
|
31 |
|
|
32 |
/** |
|
33 |
* Ein Objekt aus der Ablage lesen |
|
34 |
* @param typ |
|
35 |
* @param name |
|
36 |
* @return das eingelesene Objekt |
|
37 |
*/ |
|
38 |
public Entity read(String typ, String name); |
|
39 |
|
|
40 |
/** |
|
41 |
* Die Namen der Elemente eines gegebenen Typs auflisten |
|
42 |
* @param typ der gewuenschte Typ |
|
43 |
* @return die Liste mit Namen |
|
44 |
*/ |
|
45 |
public List<String> list(String typ); |
|
46 |
|
|
47 |
} |