de.willuhn.jameica.system
Class ServiceFactory

java.lang.Object
  extended by de.willuhn.jameica.system.ServiceFactory

public final class ServiceFactory
extends java.lang.Object

Diese Klasse stellt alle von Plugins genutzen Services zur Verfuegung. Insbesondere sind das die Datenbank-Anbindungen. Wird die Anwendung im Server-Mode gestartet, dann werden alle Services via RMI in Netz zur Verfuegung gestellt. Andernfalls nur lokal.


Constructor Summary
ServiceFactory()
           
 
Method Summary
 java.lang.String getLookupHost(java.lang.Class pluginclass, java.lang.String serviceName)
          Liefert den Host, auf dem nach diesem Service gesucht werden soll.
 int getLookupPort(java.lang.Class pluginclass, java.lang.String serviceName)
          Liefert den TCP-Port, auf dem nach diesem Service gesucht werden soll.
 void init(AbstractPlugin plugin)
          Initialisiert die Services eines Plugins.
 de.willuhn.datasource.Service lookup(java.lang.Class pluginClass, java.lang.String serviceName)
          Liefert den genannten Service des uebergebenen Plugins.
 void setLookup(java.lang.Class pluginclass, java.lang.String serviceName, java.lang.String host, int port)
          Speichert Host und Port fuer genannten Service.
 void shutDown()
          Faehrt die Services runter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceFactory

public ServiceFactory()
Method Detail

init

public void init(AbstractPlugin plugin)
          throws de.willuhn.util.ApplicationException
Initialisiert die Services eines Plugins.

Parameters:
plugin - das Plugin.
Throws:
de.willuhn.util.ApplicationException

lookup

public de.willuhn.datasource.Service lookup(java.lang.Class pluginClass,
                                            java.lang.String serviceName)
                                     throws java.lang.Exception
Liefert den genannten Service des uebergebenen Plugins. Die Funktion liefert niemals null. Entweder der Service wird gefunden und zurueckgeliefert oder es wird eine Exception geworfen.

Parameters:
pluginClass - Klasse des Plugins, fuer welches der Service geladen werden soll.
serviceName - Name des Service.
Returns:
die Instanz des Services.
Throws:
java.lang.Exception

shutDown

public void shutDown()
Faehrt die Services runter. Beendet werden hierbei nur die lokal gestarteten Services, nicht remote verbundene.


setLookup

public void setLookup(java.lang.Class pluginclass,
                      java.lang.String serviceName,
                      java.lang.String host,
                      int port)
Speichert Host und Port fuer genannten Service.

Parameters:
pluginclass - Klasse des Plugins.
serviceName - Name des Service.
host - Host (IP oder Hostname).
port - TCP-Port.

getLookupHost

public java.lang.String getLookupHost(java.lang.Class pluginclass,
                                      java.lang.String serviceName)
Liefert den Host, auf dem nach diesem Service gesucht werden soll.

Parameters:
pluginclass - Klasse des Plugins.
serviceName - Name des gesuchten Service.
Returns:
Hostname, auf dem sich der Service befindet oder null wenn nicht definiert.

getLookupPort

public int getLookupPort(java.lang.Class pluginclass,
                         java.lang.String serviceName)
Liefert den TCP-Port, auf dem nach diesem Service gesucht werden soll.

Parameters:
pluginclass - Klasse des Plugins.
serviceName - Name des gesuchten Service.
Returns:
TCP-Port, auf dem sich der Service befindet oder -1 wenn nicht definiert.