/* * 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 list(String typ); }