com.ejie.r01f.xmlproperties
Class XMLExternalProperties
java.lang.Object
com.ejie.r01f.xmlproperties.XMLExternalProperties
- public class XMLExternalProperties
- extends java.lang.Object
Maneja un fichero de propiedades DISTINTO de .properties.xml
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");
CARGA DE PROPIEDADES (ver clase XMLPropertiesManager.java)
----------------------------------------------------------
- See Also:
XMLPropertiesManager
Constructor Summary |
XMLExternalProperties(java.io.InputStream theFile)
Constructor en base al fichero a leer |
XMLExternalProperties(java.lang.String propsPathPattern)
Constructor en base al nombre del fichero de propiedades.
|
Method Summary |
java.lang.String |
customize(java.lang.String appCode,
java.lang.String propXPath,
java.lang.String[] variables)
Deprecated. Utilizar getCustomized() en su lugar... |
boolean |
existProperty(java.lang.String appCode,
java.lang.String propXPath)
Comprueba si una propiedad está definida en el fichero de propiedades |
java.lang.String |
get(java.lang.String appCode,
java.lang.String propXPath)
Obtiene una propiedad como un String |
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 |
boolean |
getBoolean(java.lang.String appCode,
java.lang.String propXPath)
Devuelve una propiedad como un boolean |
char |
getChar(java.lang.String appCode,
java.lang.String propXPath)
Devuelve una propiedad como caracter |
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 [? |
java.lang.String |
getDebugInfo()
Obtiene información de depuracion |
double |
getDouble(java.lang.String appCode,
java.lang.String propXPath)
Devuelve la propiedad como un double |
float |
getFloat(java.lang.String appCode,
java.lang.String propXPath)
Devuelve la propiedad como un float |
int |
getInt(java.lang.String appCode,
java.lang.String propXPath)
Devuelve una propiedad como un entero |
long |
getLong(java.lang.String appCode,
java.lang.String propXPath)
Devuelve una propiedad como un long |
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 |
java.lang.String |
getProperty(java.lang.String appCode,
java.lang.String propXPath)
Devuelve una propiedad como un String |
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 |
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 |
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 |
java.lang.String |
getString(java.lang.String appCode,
java.lang.String propXPath)
Devuelve una propiedad como string |
static void |
main(java.lang.String[] args)
Main Method |
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 |
XMLExternalProperties
public XMLExternalProperties(java.lang.String propsPathPattern)
- Constructor en base al nombre del fichero de propiedades.
El fichero de propiedades tiene que tener como tag raiz [Cualquier estructura de XML]
- Parameters:
propsPathPattern
- Patrón a la ruta del fichero
ej: /config/[entityCode]/[entityCode].businessDelegate.properties.xml
XMLExternalProperties
public XMLExternalProperties(java.io.InputStream theFile)
- Constructor en base al fichero a leer
- Parameters:
theFile
- fichero a leer
existProperty
public 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 aplicacionpropXPath
- ruta xpth de la propiedad
- Returns:
- true si la propiedad está definida en el fichero, false en otro caso
getProperty
public java.lang.String getProperty(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve una propiedad como un String
- Parameters:
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath de la propiedad
- Returns:
- Un string con la propiedad o null si la propiedad no existe
get
public java.lang.String get(java.lang.String appCode,
java.lang.String propXPath)
- Obtiene una propiedad como un String
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath de la propiedad
- Returns:
- Un String con la propiedad o null si la propiedad no existe
get
public 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 aplicacionpropXPath
- ruta XPath de la propiedaddefValue
- valor por defecto de la propiedad
- Returns:
- el valor de la propiedad o el valor por defecto si la propiedad es nula
customize
public 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"})
getCustomized
public 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 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
getPropertyNode
public 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 aplicacionpropXPath
- La ruta XPath
- Returns:
- El nodo dentro del arbol DOM o null si no se encuentra
getPropertyNodeIterator
public 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 aplicacionpropXPath
- La ruta xpath
- Returns:
- Un iterador a los nodos que cumplen la ruta xpath o null si no hay ninguno
getPropertyList
public 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 aplicacionpropXPath
- 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
getProperties
public 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 aplicacionpropXPath
- La ruta XPath a la propiedad
- Returns:
- Un objeto Properties con las propiedades o null si la propiedad no se encuentra
getString
public java.lang.String getString(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve una propiedad como string
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
- Returns:
- Un string con la propiedad o null si la propiedad no se encuentra
getChar
public char getChar(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve una propiedad como caracter
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath a la propiedad
- Returns:
- un caracter con la propiedad o null si la propiedad no se encuentra
getBoolean
public boolean getBoolean(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve una propiedad como un boolean
- Parameters:
appCode
- El codigo de aplicaciónpropXPath
- La ruta XPath para obtener la propiedad
- Returns:
- Un boolean con la propiead o false si la propiedad no se encuentra
getInt
public int getInt(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve una propiedad como un entero
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
- Returns:
- Un entero con la propiedad o Integer.MIN_VALUE si la propiedad no se encuentra
getLong
public long getLong(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve una propiedad como un long
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
- Returns:
- Un long con la propiedad o Long.MIN_VALUE si la propiedad no se encuentra
getDouble
public double getDouble(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve la propiedad como un double
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta XPath para obtener la propiedad
- Returns:
- Un double con la propiedad o Double.MIN_VALUE si la propiedad no se encuentra
getFloat
public float getFloat(java.lang.String appCode,
java.lang.String propXPath)
- Devuelve la propiedad como un float
- Parameters:
appCode
- El codigo de aplicacionpropXPath
- La ruta xpath para obtener la propiedad
- Returns:
- Un double con la propiedad o Float.MIN_VALUE si la propiedad no se encuentra
reload
public 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 java.lang.String getDebugInfo()
- Obtiene información de depuracion
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