com.ejie.r01f.xmlproperties
Class XMLProperties

java.lang.Object
  extended bycom.ejie.r01f.xmlproperties.XMLProperties
Direct Known Subclasses:
R01FProperties

public class XMLProperties
extends java.lang.Object

Maneja las properties del sistema Las propiedades se definen en ficheros xml con cualquier estructura, pero con la restriccion de que han de empezar por el tag 'properties' Ejemplo: [Cualquier estructura de XML] el valor Las propiedades se consultan utilizando sentencias XPath desde properties Por ejemplo: XMLProperties.get(R01FConstants.FRAMEWORK_APPCODE,"misProps/miProp"); Las propiedades se cargan y cachean por CODIGO DE APLICACION. CARGA DE PROPIEDADES (ver clase XMLPropertiesManager.java) ----------------------------------------------------------

See Also:
PATH A LOS FICHEROS DE PROPIEDADES ---------------------------------- Además del loader a utilizar, se puede especificar un PATRON para el path de los ficheros de propiedades. Este patrón puede contener la variable "[entityCode]" que se sustituirá dinámicamente por el código de aplicación. System.setProperty("EJIE_PROPERTIES_PATTERN","/[entityCode]/[entityCode].properties.xml") o estableciendo la propiedad en el arranque de la jvm con el parametro -DEJIE_PROPERTIES_PATTERN=/[entityCode]/[entityCode].properties.xml Ejemplo: Si el patrón es /[entityCode]/[entityCode].properties.xml y se están cargando las propiedades de la aplicación k01, estas se buscarán en /k01/k01.properties.xml, bien accediendo directamente al fichero en /k01/k01.properties.xml (si el loader es via ficheros) o bien accediendo al fichero /k01/k01.properties.xml en cualquier ruta en el classPath (si el loader es via classPath) IMPORTANTE!! Si no se indica el patrón a los ficheros de propiedades, se utilizan las siguientes reglas para obtenerlos: - Loader en base a ficheros (por defecto) Windows: d:/eAdmin/config/[entityCode]/[entityCode].properties.xml Unix: /config/[entityCode]/[entityCode].properties.xml - Loader en base a ClassPath Windows / UNIX: /[entityCode]/[entityCode].properties.xml IMPORTANTE: Obviamente para que funcione, es necesario poner la ruta /config en el classPath de la jvm Independientemente del lodader utilizado, debajo de esta raiz, las propiedades se organizan en carpetas para cada codigo de aplicacion que contienen los ficheros de propiedades con el nombre codApp.properties.xml Ejemplo: Windows - FileLoader d:/config/ r01f r01.properties.xml s03a s03a.properties.xml TRUKO: Carga de propiedades en un WorkSpace de eclipse ------------------------------------------------------ Para que se carguen las propiedades de una aplicación directamente desde el workSpace de eclipse hay que hacer dos cosas: - Especificar que la carga de propiedades es via ficheros estableciendo la variable de entorno: System.setProperty("EJIE_PROPERTY_LOADER","fileLoader"); o estableciendo la propiedad -DEJIE_PROPERTY_LOADER=fileLoader en el arranque de la máquina virtual NOTA: Esto NO es estrictamente necesario en WINDOWS ya que si no se establece se toma el fileLoader por defecto - Especificar el patron para encontrar los ficheros de propiedades en el workSpace System.setProperty("EJIE_PROPERTIES_PATTERN","d:/tools/workSpaces/eAdmin/[entityCode]Classes/[entityCode]/[entityCode].properties.xml") o estableciendo la propiedad -DEJIE_PROPERTIES_PATTERN=d:/tools/workSpaces/eAdmin/[entityCode]Classes/[entityCode]/[entityCode].properties.xml en el arranque de la maquina virtual De esta forma se buscará el fichero de propiedades de la aplicación k01 en: d:/tools/workSpaces/eAdmin/k01Classes/k01/k01.properties.xml sin necesidad de tener que exportarlo fuera del workSpace

Method Summary
static java.lang.String customize(java.lang.String appCode, java.lang.String propXPath, java.lang.String[] variables)
          Deprecated. Utilizar getCustomized() en su lugar...
static boolean existProperty(java.lang.String appCode, java.lang.String propXPath)
          Comprueba si una propiedad está definida en el fichero de propiedades
static java.lang.String get(java.lang.String appCode, java.lang.String propXPath)
          Obtiene una propiedad como un String
static java.lang.String get(java.lang.String appCode, java.lang.String propXPath, java.lang.String defValue)
          Obtiene una propiedad como String devolviendo un valor por defecto si la propiedad es nula
static boolean getBoolean(java.lang.String appCode, java.lang.String propXPath)
          Devuelve una propiedad como un boolean
static boolean getBoolean(java.lang.String appCode, java.lang.String propXPath, boolean defValue)
          Devuelve una propiedad como un boolean
static char getChar(java.lang.String appCode, java.lang.String propXPath)
          Devuelve una propiedad como un char
static char getChar(java.lang.String appCode, java.lang.String propXPath, char defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static java.lang.String getCustomized(java.lang.String appCode, java.lang.String propXPath, java.lang.String[] variables)
          Permite obtener una propiedad y "personalizarla" sustituyendo las "variables" (partes con [?
static java.lang.String getDebugInfo()
          Deprecated.  
static double getDouble(java.lang.String appCode, java.lang.String propXPath)
          Devuelve la propiedad como un double
static double getDouble(java.lang.String appCode, java.lang.String propXPath, double defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static float getFloat(java.lang.String appCode, java.lang.String propXPath)
          Devuelve la propiedad como un float
static float getFloat(java.lang.String appCode, java.lang.String propXPath, float defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static int getInt(java.lang.String appCode, java.lang.String propXPath)
          Devuelve una propiedad como un entero
static int getInt(java.lang.String appCode, java.lang.String propXPath, int defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static long getLong(java.lang.String appCode, java.lang.String propXPath)
          Devuelve una propiedad como un long
static long getLong(java.lang.String appCode, java.lang.String propXPath, long defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static java.util.Properties getProperties(java.lang.String appCode, java.lang.String propXPath)
          Obtiene una serie de sub-propiedades en un objeto properties Ejemplo: <database> <connection name='myConx'> <class>weblogic.jdbc.oci.Driver</class> <uri>MyConection</uri> <user>>usuario</user> <password>pass</password> </connection> </database> Una llamada a getProperties("__","database/connection[@name='myConx']") devolverá un objeto Properties con la clase, el uri, el usuario y la clave de la base de datos
static java.lang.String getProperty(java.lang.String appCode, java.lang.String propXPath)
          Devuelve una propiedad como un String
static java.lang.String getProperty(java.lang.String appCode, java.lang.String propXPath, java.lang.String defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static java.util.List getPropertyList(java.lang.String appCode, java.lang.String propXPath)
          Obtiene el valor de una lista de propiedades Ejemplo: <propiedades> <prop>Valor1</prop> <prop>Valor2</prop> <prop>Valor3</prop> </propiedades> Una llamada a getPropertyList("__","propiedades/prop") devolverá una lista con los valores de las propiedades
static java.util.List getPropertyList(java.lang.String appCode, java.lang.String propXPath, java.util.List defaultValue)
          Obtiene el valor de una lista de propiedades Ejemplo: <propiedades> <prop>Valor1</prop> <prop>Valor2</prop> <prop>Valor3</prop> </propiedades> Una llamada a getPropertyList("__","propiedades/prop") devolverá una lista con los valores de las propiedades
static java.util.List getPropertyList(java.lang.String appCode, java.lang.String propXPath, java.lang.String[] defaultValue)
          Obtiene el valor de una lista de propiedades Ejemplo: <propiedades> <prop>Valor1</prop> <prop>Valor2</prop> <prop>Valor3</prop> </propiedades> Una llamada a getPropertyList("__","propiedades/prop") devolverá una lista con los valores de las propiedades
static org.w3c.dom.Node getPropertyNode(java.lang.String appCode, java.lang.String propXPath)
          Obtiene el nodo del arbol DOM de propiedades que corresponde con la ruta XPATH
static org.w3c.dom.traversal.NodeIterator getPropertyNodeIterator(java.lang.String appCode, java.lang.String propXPath)
          Obtiene un iterador sobre los nodos del arbol DOM que cumplen la ruta XPATH
static java.lang.String getString(java.lang.String appCode, java.lang.String propXPath)
          Devuelve una propiedad como string
static java.lang.String getString(java.lang.String appCode, java.lang.String propXPath, java.lang.String defaultValue)
          Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null
static void main(java.lang.String[] args)
          Main Method
 java.lang.String printDebugInfo()
          Devuelve información de depuración
static void reload()
          Recarga todas las propiedades para ello, simplemente hay que hacer null el documento y el mapa de punteros a las entidades
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

existProperty

public static boolean existProperty(java.lang.String appCode,
                                    java.lang.String propXPath)
Comprueba si una propiedad está definida en el fichero de propiedades

Parameters:
appCode - codigo de aplicacion
propXPath - ruta xpth de la propiedad
Returns:
true si la propiedad está definida en el fichero, false en otro caso

getProperty

public static java.lang.String getProperty(java.lang.String appCode,
                                           java.lang.String propXPath)
Devuelve una propiedad como un String

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
Returns:
Un string con la propiedad o null si la propiedad no existe

getProperty

public static java.lang.String getProperty(java.lang.String appCode,
                                           java.lang.String propXPath,
                                           java.lang.String defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null

get

public static java.lang.String get(java.lang.String appCode,
                                   java.lang.String propXPath)
Obtiene una propiedad como un String

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath de la propiedad
Returns:
Un String con la propiedad o null si la propiedad no existe

get

public static java.lang.String get(java.lang.String appCode,
                                   java.lang.String propXPath,
                                   java.lang.String defValue)
Obtiene una propiedad como String devolviendo un valor por defecto si la propiedad es nula

Parameters:
appCode - codigo de aplicacion
propXPath - ruta XPath de la propiedad
defValue - valor por defecto de la propiedad
Returns:
el valor de la propiedad o el valor por defecto si la propiedad es nula

customize

public static java.lang.String customize(java.lang.String appCode,
                                         java.lang.String propXPath,
                                         java.lang.String[] variables)
Deprecated. Utilizar getCustomized() en su lugar...

Permite obtener una propiedad y "personalizarla" sustituyendo las "variables" (partes con [?x], con x siendo un entero, empezando en 0) por el contenido del array de variables Por ejemplo, un literal puede ser El perro [?0] se comio al gato [?1] Entonces se podria llamar a customize de la siguiente forma; XMLLiterals.customize("r01","literal/cast",new String[] {"Guau","Miau"})

Parameters:
appCode - codigo de aplicación
propXPath - el xpath de la propiedad
variables - un array con las los valores de las variables
Returns:
la propiedad customizada

getCustomized

public static java.lang.String getCustomized(java.lang.String appCode,
                                             java.lang.String propXPath,
                                             java.lang.String[] variables)
Permite obtener una propiedad y "personalizarla" sustituyendo las "variables" (partes con [?x], con x siendo un entero, empezando en 0) por el contenido del array de variables Por ejemplo, un literal puede ser El perro [?0] se comio al gato [?1] Entonces se podria llamar a customize de la siguiente forma; XMLLiterals.customize("r01","literal/cast",new String[] {"Guau","Miau"})

Parameters:
appCode - codigo de aplicacion
propXPath - ruta xpath a la propiedad
variables - un array con los valores de las variables contenidas en el valor de la propiedad cada elemento es a su vez un array con dos Strings: variable, valor
Returns:
la propiedad customizada

getPropertyNode

public static org.w3c.dom.Node getPropertyNode(java.lang.String appCode,
                                               java.lang.String propXPath)
Obtiene el nodo del arbol DOM de propiedades que corresponde con la ruta XPATH

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath
Returns:
El nodo dentro del arbol DOM o null si no se encuentra

getPropertyNodeIterator

public static org.w3c.dom.traversal.NodeIterator getPropertyNodeIterator(java.lang.String appCode,
                                                                         java.lang.String propXPath)
Obtiene un iterador sobre los nodos del arbol DOM que cumplen la ruta XPATH

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta xpath
Returns:
Un iterador a los nodos que cumplen la ruta xpath o null si no hay ninguno

getPropertyList

public static java.util.List getPropertyList(java.lang.String appCode,
                                             java.lang.String propXPath)
Obtiene el valor de una lista de propiedades Ejemplo: <propiedades> <prop>Valor1</prop> <prop>Valor2</prop> <prop>Valor3</prop> </propiedades> Una llamada a getPropertyList("__","propiedades/prop") devolverá una lista con los valores de las propiedades

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la lista de propiedades
Returns:
Una lista de strings con las propiedades o null si la lista no se encuentra

getPropertyList

public static java.util.List getPropertyList(java.lang.String appCode,
                                             java.lang.String propXPath,
                                             java.util.List defaultValue)
Obtiene el valor de una lista de propiedades Ejemplo: <propiedades> <prop>Valor1</prop> <prop>Valor2</prop> <prop>Valor3</prop> </propiedades> Una llamada a getPropertyList("__","propiedades/prop") devolverá una lista con los valores de las propiedades

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la lista de propiedades
defaultValue - lista por defecto si la propiedad es nula o no existe
Returns:
Una lista de strings con las propiedades o defaultValue si la lista no se encuentra

getPropertyList

public static java.util.List getPropertyList(java.lang.String appCode,
                                             java.lang.String propXPath,
                                             java.lang.String[] defaultValue)
Obtiene el valor de una lista de propiedades Ejemplo: <propiedades> <prop>Valor1</prop> <prop>Valor2</prop> <prop>Valor3</prop> </propiedades> Una llamada a getPropertyList("__","propiedades/prop") devolverá una lista con los valores de las propiedades

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la lista de propiedades
defaultValue - lista por defecto si la propiedad es nula o no existe
Returns:
Una lista de strings con las propiedades o defaultValue si la lista no se encuentra

getProperties

public static java.util.Properties getProperties(java.lang.String appCode,
                                                 java.lang.String propXPath)
Obtiene una serie de sub-propiedades en un objeto properties Ejemplo: <database> <connection name='myConx'> <class>weblogic.jdbc.oci.Driver</class> <uri>MyConection</uri> <user>>usuario</user> <password>pass</password> </connection> </database> Una llamada a getProperties("__","database/connection[@name='myConx']") devolverá un objeto Properties con la clase, el uri, el usuario y la clave de la base de datos

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath a la propiedad
Returns:
Un objeto Properties con las propiedades o null si la propiedad no se encuentra

getString

public static java.lang.String getString(java.lang.String appCode,
                                         java.lang.String propXPath)
Devuelve una propiedad como string

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la propiedad
Returns:
Un string con la propiedad o null si la propiedad no se encuentra

getString

public static java.lang.String getString(java.lang.String appCode,
                                         java.lang.String propXPath,
                                         java.lang.String defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null

getChar

public static char getChar(java.lang.String appCode,
                           java.lang.String propXPath)
Devuelve una propiedad como un char

Parameters:
appCode - codigo de aplicacion
propXPath - ruta xpath de la propiedad
Returns:
el valor de la propiedad como char. Si la propiedad es nula, devuelve Character.MIN_VALUE Si la propiedad tiene mas de un caracter devuelve el primero

getChar

public static char getChar(java.lang.String appCode,
                           java.lang.String propXPath,
                           char defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null Si la propiedad es nula, devuelve el valor por defecto Si la propiedad tiene mas de un caracter devuelve el primero

getBoolean

public static boolean getBoolean(java.lang.String appCode,
                                 java.lang.String propXPath)
Devuelve una propiedad como un boolean

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath para obtener la propiedad
Returns:
Un boolean con la propiead o false si la propiedad no se encuentra

getBoolean

public static boolean getBoolean(java.lang.String appCode,
                                 java.lang.String propXPath,
                                 boolean defValue)
Devuelve una propiedad como un boolean

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath para obtener la propiedad
defValue - valor por defecto si no se encuentra la propiedad
Returns:
Un boolean con la propiead o false si la propiedad no se encuentra

getInt

public static int getInt(java.lang.String appCode,
                         java.lang.String propXPath)
Devuelve una propiedad como un entero

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la propiedad
Returns:
Un entero con la propiedad o Integer.MIN_VALUE si la propiedad no se encuentra

getInt

public static int getInt(java.lang.String appCode,
                         java.lang.String propXPath,
                         int defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null

getLong

public static long getLong(java.lang.String appCode,
                           java.lang.String propXPath)
Devuelve una propiedad como un long

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la propiedad
Returns:
Un long con la propiedad o Long.MIN_VALUE si la propiedad no se encuentra

getLong

public static long getLong(java.lang.String appCode,
                           java.lang.String propXPath,
                           long defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null

getDouble

public static double getDouble(java.lang.String appCode,
                               java.lang.String propXPath)
Devuelve la propiedad como un double

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta XPath para obtener la propiedad
Returns:
Un double con la propiedad o Double.MIN_VALUE si la propiedad no se encuentra

getDouble

public static double getDouble(java.lang.String appCode,
                               java.lang.String propXPath,
                               double defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null

getFloat

public static float getFloat(java.lang.String appCode,
                             java.lang.String propXPath)
Devuelve la propiedad como un float

Parameters:
appCode - El codigo de aplicacion
propXPath - La ruta xpath para obtener la propiedad
Returns:
Un double con la propiedad o Float.MIN_VALUE si la propiedad no se encuentra

getFloat

public static float getFloat(java.lang.String appCode,
                             java.lang.String propXPath,
                             float defaultValue)
Devuelve una propiedad o el valor por defecto que se pasa si la propiedad es null

Parameters:
appCode - El codigo de aplicación
propXPath - La ruta XPath de la propiedad
defaultValue - valor por defecto para la propiedad
Returns:
el valor de la propiedad o el valor por defecto que se pasa si la propiedad es null

reload

public static void reload()
Recarga todas las propiedades para ello, simplemente hay que hacer null el documento y el mapa de punteros a las entidades


main

public static void main(java.lang.String[] args)
Main Method

Parameters:
args - Probar con lo siguiente en dos ficheros properties.xml p03_elem p03_1 p03_2 p03_2 p03_e_1 p03_e_2 p03_e_3

printDebugInfo

public java.lang.String printDebugInfo()
Devuelve información de depuración

Returns:
la información de depuración

getDebugInfo

public static java.lang.String getDebugInfo()
Deprecated.  

Obtiene información de depuracion

Returns:
información de depuración