Ultrakompakter HTTP Server
ulrich
2024-02-23 4d253a518cdd889ad84c8f873aa615e14b6d9ca8
commit | author | age
e58690 1 /*
U 2   neon - Embeddable HTTP Server based on jdk.httpserver
3   Copyright (C) 2024  Ulrich Hilger
4
5   This program is free software: you can redistribute it and/or modify
6   it under the terms of the GNU Affero General Public License as
7   published by the Free Software Foundation, either version 3 of the
8   License, or (at your option) any later version.
9
10   This program 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
13   GNU Affero General Public License for more details.
14
15   You should have received a copy of the GNU Affero General Public License
16   along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  */
18 package de.uhilger.neon;
19
20 /**
21  * Objekte, die auf Ereignisse von Neon lauschen wollen, 
22  * muessen diese Schnittstelle implementieren.
23  * 
24  * Elemente eines Neon-Servers signalisieren, dass sie einen 
25  * ServerDataProvider benoetigen, wenn sie die Schnittstelle 
26  * ServerDataConsumer implementieren.
27  * 
28  * Objekte der Klasse ServerDataProvider muessen der Factory 
29  * ueber die Methode putServerDataProvider uebergeben werden, 
30  * bevor 
31  * 
32  * Die Methode Factory.runInstance erwartet als einen der Parameter 
33  * eine Liste mit Objekten der Klasse ServerDataProvider. Diese 
34  * hinterlegt die Factory in den Attributen jedes Kontexts unter 
35  * 'serverDataProviderList'.
36  * 
37  * Der generische Neon-Handler registriert den oder die 
38  * ServerDataProvider, wenn ein Actor instanziiert wird, der die 
39  * Schnittstelle ServerDataConsumer implementiert. 
40  * 
41  * Die Bedeutung von Objektnamen und Datentypen sind nicht Teil der 
42  * Spezifikation. Die Art der Nutzung dieser generischen Schnittstelle 
43  * verbleibt damit bei der implementierenden Anwendung.
44  * 
45  * @author Ulrich Hilger
46  */
47 public interface DataProvider {
48   
49   public Object getDataObject(String name);
50   
51 }