r01f.guids
Class GUIDDispenserManager

java.lang.Object
  extended by r01f.guids.GUIDDispenserManager

public class GUIDDispenserManager
extends java.lang.Object

Acceso a las factorías de generación de GUIDs El uso habitual es: [OPCION 1]: Inyectar el GUIDDispenserManager como servicio utilizando GUICE: pubic class MyClass {


Field Summary
private  java.util.Map<java.lang.String,GUIDDispenser> _dispensers
          CACHE que contiene los dispensers creados asociados por appCode.sequenceId (por eso es importante que esta clase sea un Singleton en el módulo Guice)
private  java.util.Map<java.lang.String,GUIDDispenserFlavourFactory> _dispensersFactories
          Mapa de factorías de objetos GUIDDispenser que relaciona el ID del GUIDDispenser con su factoría IMPORTANTE!!
private  XMLProperties _xmlProperties
          Acceso a XMLProperties
 
Constructor Summary
GUIDDispenserManager()
           
 
Method Summary
private static GUIDDispenserDef _loadDispenserDefFor(XMLProperties xmlProperties, java.lang.String appCode, java.lang.String sequenceName)
          Carga la configuracion del fichero de propiedades de la aplicacion
private static java.lang.String _xPathBase(java.lang.String sequenceName)
          Obtiene la ruta xPath base donde se encuentran las propiedades del guidGenerator
 GUIDDispenser instanceFor(GUIDDispenserDef dispDef)
           
 GUIDDispenser instanceFor(java.lang.String appCode)
           
 GUIDDispenser instanceFor(java.lang.String appCode, java.lang.String sequenceId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_xmlProperties

@Inject
private XMLProperties _xmlProperties
Acceso a XMLProperties


_dispensersFactories

@Inject
private java.util.Map<java.lang.String,GUIDDispenserFlavourFactory> _dispensersFactories
Mapa de factorías de objetos GUIDDispenser que relaciona el ID del GUIDDispenser con su factoría IMPORTANTE!! El mapa de factorías se "cablea" en el módulo GUIDDispenserGuiceModule, así que cuando aparece una nueva implementación de un GUIDDispenser, hay que incluirlo en la clase GUIDDispenserGuiceModule


_dispensers

private java.util.Map<java.lang.String,GUIDDispenser> _dispensers
CACHE que contiene los dispensers creados asociados por appCode.sequenceId (por eso es importante que esta clase sea un Singleton en el módulo Guice)

Constructor Detail

GUIDDispenserManager

public GUIDDispenserManager()
Method Detail

instanceFor

public GUIDDispenser instanceFor(java.lang.String appCode)

instanceFor

public GUIDDispenser instanceFor(java.lang.String appCode,
                                 java.lang.String sequenceId)

instanceFor

public GUIDDispenser instanceFor(GUIDDispenserDef dispDef)

_xPathBase

private static java.lang.String _xPathBase(java.lang.String sequenceName)
Obtiene la ruta xPath base donde se encuentran las propiedades del guidGenerator

Returns:
la ruta xPath (guidGenerator/sequence[@name='" + _sequenceName + "']/)

_loadDispenserDefFor

private static GUIDDispenserDef _loadDispenserDefFor(XMLProperties xmlProperties,
                                                     java.lang.String appCode,
                                                     java.lang.String sequenceName)
Carga la configuracion del fichero de propiedades de la aplicacion

Parameters:
appCode - Codigo de aplicacion
sequenceName - Nombre de la secuencia