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