|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ejie.r01f.xmlproperties.XMLProperties
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:
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 |
public static boolean existProperty(java.lang.String appCode, java.lang.String propXPath)
appCode
- codigo de aplicacionpropXPath
- ruta xpth de la propiedad
public static java.lang.String getProperty(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedad
public static java.lang.String getProperty(java.lang.String appCode, java.lang.String propXPath, java.lang.String defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static java.lang.String get(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath de la propiedad
public static java.lang.String get(java.lang.String appCode, java.lang.String propXPath, java.lang.String defValue)
appCode
- codigo de aplicacionpropXPath
- ruta XPath de la propiedaddefValue
- valor por defecto de la propiedad
public static java.lang.String customize(java.lang.String appCode, java.lang.String propXPath, java.lang.String[] variables)
appCode
- codigo de aplicaciónpropXPath
- el xpath de la propiedadvariables
- un array con las los valores de las variables
public static java.lang.String getCustomized(java.lang.String appCode, java.lang.String propXPath, java.lang.String[] variables)
appCode
- codigo de aplicacionpropXPath
- ruta xpath a la propiedadvariables
- 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
public static org.w3c.dom.Node getPropertyNode(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath
public static org.w3c.dom.traversal.NodeIterator getPropertyNodeIterator(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta xpath
public static java.util.List getPropertyList(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la lista de propiedades
public static java.util.List getPropertyList(java.lang.String appCode, java.lang.String propXPath, java.util.List defaultValue)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la lista de propiedadesdefaultValue
- lista por defecto si la propiedad es nula o no existe
defaultValue
si la lista no se encuentrapublic static java.util.List getPropertyList(java.lang.String appCode, java.lang.String propXPath, java.lang.String[] defaultValue)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la lista de propiedadesdefaultValue
- lista por defecto si la propiedad es nula o no existe
defaultValue
si la lista no se encuentrapublic static java.util.Properties getProperties(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath a la propiedad
public static java.lang.String getString(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
public static java.lang.String getString(java.lang.String appCode, java.lang.String propXPath, java.lang.String defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static char getChar(java.lang.String appCode, java.lang.String propXPath)
appCode
- codigo de aplicacionpropXPath
- ruta xpath de la propiedad
public static char getChar(java.lang.String appCode, java.lang.String propXPath, char defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static boolean getBoolean(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath para obtener la propiedad
public static boolean getBoolean(java.lang.String appCode, java.lang.String propXPath, boolean defValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath para obtener la propiedaddefValue
- valor por defecto si no se encuentra la propiedad
public static int getInt(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
public static int getInt(java.lang.String appCode, java.lang.String propXPath, int defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static long getLong(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
public static long getLong(java.lang.String appCode, java.lang.String propXPath, long defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static double getDouble(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
public static double getDouble(java.lang.String appCode, java.lang.String propXPath, double defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static float getFloat(java.lang.String appCode, java.lang.String propXPath)
appCode
- El codigo de aplicacionpropXPath
- La ruta xpath para obtener la propiedad
public static float getFloat(java.lang.String appCode, java.lang.String propXPath, float defaultValue)
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedaddefaultValue
- valor por defecto para la propiedad
public static void reload()
public static void main(java.lang.String[] args)
args
- Probar con lo siguiente en dos ficheros properties.xml
public java.lang.String printDebugInfo()
public static java.lang.String getDebugInfo()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |