Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ejie.r01f.xmlproperties
Class XMLProperties

    java.lang.Object
      com.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("r01f","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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD