org.nuiton.topia.service
Class TopiaApplicationServiceFactory

java.lang.Object
  extended by org.nuiton.topia.service.TopiaApplicationServiceFactory

public class TopiaApplicationServiceFactory
extends java.lang.Object

TopiaServiceFactory.java Classe utilisee pour charger les services. Deux utilisations possibles :

  • client: pour avoir une interface sur un service local ou distant
  • serveur: pour avoir un service local au serveur Sert aussi au serveur pour declarer des services

    Version:
    $Revision: 1715 $ Last update : $Date: 2009-12-15 01:26:16 +0100 (mar., 15 déc. 2009) $ By : $Author: tchemit $
    Author:
    chatellier

    Field Summary
    protected static java.util.Properties config
              Fichier de configuration
    static java.lang.String DEFAULT_CONFIG_PROPERTIES
              Fichier de configuration par defaut
    protected static TopiaContext defaultServiceContext
               
    protected static TopiaServiceProvider mainDispatcher
              Dispatcher (servers)
    static java.lang.String TOPIA_APPLICATION_PROVIDE_BEGIN
              Nom de la propriete de definition des services fournit
    static java.lang.String TOPIA_APPLICATION_SERVER_PORT_BEGIN
              Nom de la propriete de definition des ports suivant les protocoles
    static java.lang.String TOPIA_APPLICATION_SERVICE_BEGIN
              Nom de la propriete de definition des services utilises
    static java.lang.String TOPIA_GENERATION_DIRECTORY
              Nom du dossier ou sont generer certains fichiers (doit etre dans le classpath )
     
    Constructor Summary
    TopiaApplicationServiceFactory()
               
     
    Method Summary
    static void addService(java.lang.Class<? extends TopiaApplicationService> interfaze, java.lang.Class<? extends TopiaApplicationService> clazz, Protocol... protocoles)
              Ajoute un service fournit par ToPIA.
    static
    <E extends TopiaApplicationService>
    void
    addService(java.lang.Class<E> interfaze, E instance, Protocol... protocoles)
              Ajoute un service fournit par ToPIA.
    protected static TopiaProxy getProxyForURI(java.net.URI uriService)
              Retourne l'implementation d'un TopiaProxy en fonction du protocole de l'URI
    static
    <E extends TopiaApplicationService>
    E
    getService(java.lang.Class<E> serviceclazz)
              Fournit une interface sur un service en l'implementant comme definit dans la configuration.
    static void loadServices(java.util.Properties config, TopiaContext context)
              Charge et lance tous les services contenus dans le fichier de configuration
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    DEFAULT_CONFIG_PROPERTIES

    public static final java.lang.String DEFAULT_CONFIG_PROPERTIES
    Fichier de configuration par defaut

    See Also:
    Constant Field Values

    TOPIA_APPLICATION_SERVICE_BEGIN

    public static final java.lang.String TOPIA_APPLICATION_SERVICE_BEGIN
    Nom de la propriete de definition des services utilises

    See Also:
    Constant Field Values

    TOPIA_APPLICATION_PROVIDE_BEGIN

    public static final java.lang.String TOPIA_APPLICATION_PROVIDE_BEGIN
    Nom de la propriete de definition des services fournit

    See Also:
    Constant Field Values

    TOPIA_APPLICATION_SERVER_PORT_BEGIN

    public static final java.lang.String TOPIA_APPLICATION_SERVER_PORT_BEGIN
    Nom de la propriete de definition des ports suivant les protocoles

    See Also:
    Constant Field Values

    TOPIA_GENERATION_DIRECTORY

    public static java.lang.String TOPIA_GENERATION_DIRECTORY
    Nom du dossier ou sont generer certains fichiers (doit etre dans le classpath )


    config

    protected static java.util.Properties config
    Fichier de configuration


    mainDispatcher

    protected static final TopiaServiceProvider mainDispatcher
    Dispatcher (servers)


    defaultServiceContext

    protected static TopiaContext defaultServiceContext
    Constructor Detail

    TopiaApplicationServiceFactory

    public TopiaApplicationServiceFactory()
    Method Detail

    loadServices

    public static void loadServices(java.util.Properties config,
                                    TopiaContext context)
                             throws TopiaException
    Charge et lance tous les services contenus dans le fichier de configuration

    Parameters:
    config - les proprietes du fichier de configuration
    context - le contexte pere des contextes fournis aux services
    Throws:
    TopiaException - if any pb with topia

    getService

    public static <E extends TopiaApplicationService> E getService(java.lang.Class<E> serviceclazz)
                                                        throws TopiaNotFoundException,
                                                               TopiaException
    Fournit une interface sur un service en l'implementant comme definit dans la configuration. Configuration (TopiaApplicationServices.properties par defaut) : topia.application.service.fqn=local://fqnImpl/#new topia.application.service.fqn=local://fqnImpl topia.application.service.fqn=rmi://127.0.0.1:1099 topia.application.service.fqn=xmlrpc://127.0.0.1:9090 ...

    Type Parameters:
    E - l'interface doit etendre TopiaApplicationService
    Parameters:
    serviceclazz - l'interface du service
    Returns:
    l'implementation du service ou null si le service ne peut etre charge
    Throws:
    TopiaNotFoundException - si le fichier de configuration n'existe pas
    TopiaException - si le service ne peut pas etre charge
    See Also:
    TopiaApplicationService

    getProxyForURI

    protected static TopiaProxy getProxyForURI(java.net.URI uriService)
    Retourne l'implementation d'un TopiaProxy en fonction du protocole de l'URI

    Parameters:
    uriService -
    Returns:
    l'implementation ou null si le protocol n'est pas géré

    addService

    public static void addService(java.lang.Class<? extends TopiaApplicationService> interfaze,
                                  java.lang.Class<? extends TopiaApplicationService> clazz,
                                  Protocol... protocoles)
    Ajoute un service fournit par ToPIA.

    Parameters:
    interfaze - l'interface du service
    clazz - la classe qui permet de creer des instances de l'implementation du service
    protocoles - les protocoles de diffusion du service
    See Also:
    TopiaApplicationService

    addService

    public static <E extends TopiaApplicationService> void addService(java.lang.Class<E> interfaze,
                                                                      E instance,
                                                                      Protocol... protocoles)
    Ajoute un service fournit par ToPIA. Celle-ci renvoie toujours la meme instance du service.

    Type Parameters:
    E - un type qui etend TopiaApplicationService
    Parameters:
    interfaze - l'interface du service
    instance - l'instance de l'implementation du service
    protocoles - les protocoles de diffusion du service
    See Also:
    TopiaApplicationService


    Copyright © 2004-2010 CodeLutin. All Rights Reserved.