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 XMLLiterals

    java.lang.Object
      com.ejie.r01f.xmlproperties.XMLLiterals

public final class XMLLiterals
extends java.lang.Object

Maneja los textos del sistema Los textos se definen en ficheros xml con cualquier estructura, pero con la restriccion de que han de empezar por el tag 'localeText' y de tener en al final de cada estructura los valores indexados por idioma Ejemplo: [Cualquier estructura de XML] Texto en castellano Texto en euskera Los textos se consultan utilizando sentencias XPath desde localeText Lo normal es inicializar un XMLLiterals en base a un idioma y luego utilizarlo: XMLLiterals esLits = new XMLLiterals("r01f","es"); esLits.get("miSeccion/miSubSeccion/miElemento); // Consultara el elemento es Lost textos se cargan y cachean por CODIGO DE APLICACION. CARGA DE PROPIEDADES (ver clase XMLPropertiesManager.java) ----------------------------------------------------------

See Also:
  `PATH A LOS FICHEROS DE LITERALES ---------------------------------- Además del loader a utilizar, se puede especificar un PATRON para el path de los ficheros de textos. Este patrón puede contener la variable "[entityCode]" que se sustituirá dinámicamente por el código de aplicación. System.setProperty("EJIE_LITERALS_PATTERN","/[entityCode]/[entityCode].text.xml") o estableciendo la propiedad -DEJIE_LITERALS_PATTERN=/[entityCode]/[entityCode].text.xml en el arranque de la jvm Ejemplo: Si el patrón es /[entityCode]/[entityCode].text.xml y se están cargando las propiedades de la aplicación k01, estas se buscarán en /k01/k01.text.xml, bien accediendo directamente al fichero en /k01/k01.text.xml (si el loader es via ficheros) o bien accediendo al fichero /k01/k01.text.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 literales, se utilizan las siguientes reglas para obtenerlos: - Loader en base a ficheros (por defecto) Windows: d:/eAdmin/aplic/[entityCode]/html/datos/[entityCode].text.xml Unix: /aplic/html/datos/[entityCode]/[entityCode].text.xml - Loader en base a ClassPath Windows / UNIX: /html/datos/[entityCode].text.xml IMPORTANTE: Obviamente para que funcione, es necesario que /html/datos esté en una ruta del 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.text.xml Ejemplo: (Windows - fileLoader) d:/eAdmin/aplic/ r01f/html/datos r01.text.xml s03a/html/datos s03a.text.xml TRUKO: Carga de literales en un WorkSpace de eclipse ---------------------------------------------------- Para que se carguen los literales 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`

Constructor Summary
`XMLLiterals(java.lang.String entityCode, java.lang.String lang)` Constructor en base al codigo de entidad y el lenguaje

Method Summary
`java.lang.String` | `customize(java.lang.String propXPath, java.lang.String[] variables)` El mismo método que customize pero para ser utilizado en contextos no estáticos, cuando se predefine la entidad y el lenguage
`static java.lang.String` | `customize(java.lang.String entityCode, java.lang.String propXPath, java.lang.String[] variables)` Permite obtener una propiedad y "personalizarla" sustituyendo las "variables" (partes con [?
`java.lang.String` | `get(java.lang.String propXPath)` El mismo método que get pero para ser utilizado en contextos no estáticos, cuando se predefine la entidad y el lenguage
`static java.lang.String` | `get(java.lang.String entityCode, java.lang.String propXPath)` Devuelve una propiedad existente, para ello utiliza el camino XPath de entrada para buscar la propiedad en el arbol DOM
`static java.lang.String` | `getDebugInfo()` Obtiene información de depuracion
`java.util.List` | `getList(java.lang.String propXPath)` El mismo método que getList pero para ser utilizado en contextos no estáticos, cuando se predefine la entidad y el lenguage
`static java.util.List` | `getList(java.lang.String entityCode, java.lang.String propXPath)`
`static void` | `main(java.lang.String[] argv)` Metodo main (para probar el temilla...)
`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`

Constructor Detail

### XMLLiterals

    public XMLLiterals(java.lang.String entityCode,
                       java.lang.String lang)

  Constructor en base al codigo de entidad y el lenguaje

Parameters:
  `entityCode` - Codigo de entidad (codigo de aplicacion)
  `lang` - Lenguaje

Method Detail

### get

    public java.lang.String get(java.lang.String propXPath)

  El mismo método que get pero para ser utilizado en contextos no estáticos, cuando se predefine la entidad y el lenguage

### getList

    public static java.util.List getList(java.lang.String entityCode,
                                         java.lang.String propXPath)

### getList

    public java.util.List getList(java.lang.String propXPath)

  El mismo método que getList pero para ser utilizado en contextos no estáticos, cuando se predefine la entidad y el lenguage

### customize

    public java.lang.String customize(java.lang.String propXPath,
                                      java.lang.String[] variables)

  El mismo método que customize pero para ser utilizado en contextos no estáticos, cuando se predefine la entidad y el lenguage

### get

    public static java.lang.String get(java.lang.String entityCode,
                                       java.lang.String propXPath)

  Devuelve una propiedad existente, para ello utiliza el camino XPath de entrada para buscar la propiedad en el arbol DOM

  Returns:
    (String)El texto del nodo si lo encuentra o null si no lo encuentra

### customize

    public static java.lang.String customize(java.lang.String entityCode,
                                             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"})

### 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

### getDebugInfo

    public static java.lang.String getDebugInfo()

  Obtiene información de depuracion

### main

    public static void main(java.lang.String[] argv)

  Metodo main (para probar el temilla...) Probar con lo siguiente en dos ficheros properties.xml valor_p03_1_cast valor_p03_2_eusk lista_p03_1_cast lista_p03_1_eusk lista_p03_2_cast lista_p03_2_eusk lista_p03_3_cast lista_p03_3_eusk

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