org.jboss.cache.config.parsing
Class XmlConfigHelper

java.lang.Object
  extended by org.jboss.cache.config.parsing.XmlConfigHelper

public class XmlConfigHelper
extends Object

A simple XML utility class for reading configuration elements

Author:
Manik Surtani (manik AT jboss DOT org)

Field Summary
static String ATTR
          The <attribute> tag which forms the bulk of JBoss Cache configuration elements
static String CONFIG_ATTR
          The <config> tag may be embedded in the contents of an <attribute>, to specify more complex configuration for certain parameters.
static String NAME
          The <name> attribute to an <attribute> tag.
static String ROOT
          The root of a JBoss Cache configuration XML file.
 
Constructor Summary
XmlConfigHelper()
           
 
Method Summary
static String escapeBackslashes(String value)
          Escapes backslashes ('\') with additional backslashes in a given String, returning a new, escaped String.
static ParsedAttributes extractAttributes(Element source)
           
static Properties extractProperties(Element source)
           
static String getAttributeValue(Element elem, String elementName, String attributeName)
          Retrieves the value of a given attribute for the first encountered instance of a tag in an element.
static Element getDocumentRoot(InputStream is)
          Returns the root element of a given input stream
static String getElementContent(Element element, boolean trim)
          Reads the contents of the element passed in.
static Element getFirstChildElement(Element element)
          Gets the first child element of an element
static Element getSubElement(Element element, String subElementName)
          Returns a named sub-element of the current element passed in.
static String getTagContents(Element elem, String value, String elementName, String attributeName)
          Returns the contents of a specific node of given element name, provided a certain attribute exists and is set to value.
static boolean readBooleanAttribute(Element elem, String elementName, String attributeName, boolean defaultValue)
          Retrieves the boolean value of a given attribute for the first encountered instance of elementName
static boolean readBooleanContents(Element element, String elementName)
          Similar to readStringContents(org.w3c.dom.Element,String) except that it returns a boolean.
static boolean readBooleanContents(Element element, String elementName, boolean defaultValue)
          Similar to readStringContents(org.w3c.dom.Element,String) except that it returns a boolean.
static Properties readPropertiesContents(Element element, String elementName)
          Reads the contents of a named sub element within a given element, and attempts to parse the contents as a Java properties file.
static String readStringContents(Element element, String elementName)
          Reads the contents of the first occurence of elementName under the given element, trimming results of whitespace.
static void setValues(Object target, Map<?,?> attribs, boolean isXmlAttribs, boolean failOnMissingSetter)
           
static Element stringToElement(String xml)
          Converts a String representing an XML snippet into an Element.
static Element stringToElementInCoreNS(String xml)
          Converts a String representing an XML snippet into an Element.
static String toString(Element e)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROOT

public static final String ROOT
The root of a JBoss Cache configuration XML file. This is the <mbean> tag.

See Also:
Constant Field Values

ATTR

public static final String ATTR
The <attribute> tag which forms the bulk of JBoss Cache configuration elements

See Also:
Constant Field Values

CONFIG_ATTR

public static final String CONFIG_ATTR
The <config> tag may be embedded in the contents of an <attribute>, to specify more complex configuration for certain parameters.

See Also:
Constant Field Values

NAME

public static final String NAME
The <name> attribute to an <attribute> tag.

See Also:
Constant Field Values
Constructor Detail

XmlConfigHelper

public XmlConfigHelper()
Method Detail

getTagContents

public static String getTagContents(Element elem,
                                    String value,
                                    String elementName,
                                    String attributeName)
Returns the contents of a specific node of given element name, provided a certain attribute exists and is set to value. E.g., if you have a Element which represents the following XML snippet:
   <ItemQuantity Colour="Red">100</ItemQuantity>
   <ItemQuantity Colour="Blue">30</ItemQuantity>
   <ItemQuantity Colour="Black">10</ItemQuantity>
 
 

The following results could be expected:

    getTagContents(element, "Red", "ItemQuantity", "Colour"); // 100
    getTagContents(element, "Black", "ItemQuantity", "Colour"); // 10
    getTagContents(element, "Blah", "ItemQuantity", "Colour"); // null
    getTagContents(element, "Red", "Blah", "Colour"); // null
    getTagContents(element, "Black", "ItemQuantity", "Blah"); // null
 

None of the parameters should be null - otherwise the method may throw a NullPointerException.

Parameters:
elem - - element to search through.
value - - expected value to match against
elementName - - element name
attributeName - - attribute name of the element that would contain the expected value.
Returns:
the contents of the matched element, or null if not found/matched

getAttributeValue

public static String getAttributeValue(Element elem,
                                       String elementName,
                                       String attributeName)
Retrieves the value of a given attribute for the first encountered instance of a tag in an element.

E.g., if you have a Element which represents the following XML snippet:

   <ItemQuantity Colour="Red">100</ItemQuantity>
   <ItemQuantity Colour="Blue">30</ItemQuantity>
   <ItemQuantity Colour="Black">10</ItemQuantity>
 
 

The following results could be expected:

    getAttributeValue(element, "ItemQuantity", "Colour"); // "Red"
    getTagContents(element, "Blah", "Colour"); // null
    getTagContents(element, "ItemQuantity", "Blah"); // null
 
None of the parameters should be null - otherwise the method may throw a NullPointerException.

Parameters:
elem - - element to search through.
elementName - - element name
attributeName - - attribute name of the element that would contain the expected value.
Returns:
the contents of the matched attribute, or null if not found/matched

getSubElement

public static Element getSubElement(Element element,
                                    String subElementName)
Returns a named sub-element of the current element passed in.

None of the parameters should be null - otherwise the method may throw a NullPointerException.

Parameters:
element - - element to search through.
subElementName - - the name of a sub element to look for
Returns:
the first matching sub element, if found, or null otherwise.

getElementContent

public static String getElementContent(Element element,
                                       boolean trim)
Reads the contents of the element passed in.

None of the parameters should be null - otherwise the method may throw a NullPointerException.

Parameters:
element - - element to search through.
trim - - if true, whitespace is trimmed before returning
Returns:
the contents of the element passed in. Will return an empty String if the element is empty.

readStringContents

public static String readStringContents(Element element,
                                        String elementName)
Reads the contents of the first occurence of elementName under the given element, trimming results of whitespace.

None of the parameters should be null - otherwise the method may throw a NullPointerException.

Parameters:
element - - element to search through.
elementName - - name of the element to find within the element passed in
Returns:
may return an empty String of not found.

escapeBackslashes

public static String escapeBackslashes(String value)
Escapes backslashes ('\') with additional backslashes in a given String, returning a new, escaped String.

Parameters:
value - String to escape. Cannot be null.
Returns:
escaped String. Never is null.

readPropertiesContents

public static Properties readPropertiesContents(Element element,
                                                String elementName)
Reads the contents of a named sub element within a given element, and attempts to parse the contents as a Java properties file.

E.g., if you have a Element which represents the following XML snippet:

   <props>
       my.attrib.1 = blah
       my.attrib.2 = blahblah
   </props>
 
 

The following results could be expected:

    Properties p = readPropertiesContents(element, "props");
    p.getProperty("my.attrib.1"); // blah
    p.getProperty("my.attrib.2"); // blahblah
 
None of the parameters should be null - otherwise the method may throw a NullPointerException.

Parameters:
element - - element to search through.
elementName - - name of the element to find within the element passed in
Returns:
a Properties object, never null.
Throws:
IOException - if unable to parse the contents of the element

readBooleanContents

public static boolean readBooleanContents(Element element,
                                          String elementName)
Similar to readStringContents(org.w3c.dom.Element,String) except that it returns a boolean.

Parameters:
element - - element to search through.
elementName - - name of the element to find within the element passed in
Returns:
the contents of the element as a boolean, or false if not found.

readBooleanContents

public static boolean readBooleanContents(Element element,
                                          String elementName,
                                          boolean defaultValue)
Similar to readStringContents(org.w3c.dom.Element,String) except that it returns a boolean.

Parameters:
element - - element to search through.
elementName - - name of the element to find within the element passed in
defaultValue - - value to return if the element is not found or cannot be parsed.
Returns:
the contents of the element as a boolean

stringToElementInCoreNS

public static Element stringToElementInCoreNS(String xml)
                                       throws Exception
Converts a String representing an XML snippet into an Element.

Parameters:
xml - snippet as a string
Returns:
a DOM Element
Throws:
Exception - if unable to parse the String or if it doesn't contain valid XML.

stringToElement

public static Element stringToElement(String xml)
                               throws Exception
Converts a String representing an XML snippet into an Element.

Parameters:
xml - snippet as a string
Returns:
a DOM Element
Throws:
Exception - if unable to parse the String or if it doesn't contain valid XML.

getFirstChildElement

public static Element getFirstChildElement(Element element)
Gets the first child element of an element

Parameters:
element - the parent
Returns:
the first child element or null if there isn't one

getDocumentRoot

public static Element getDocumentRoot(InputStream is)
Returns the root element of a given input stream

Parameters:
is - stream to parse
Returns:
XML DOM element, or null if unable to parse stream

readBooleanAttribute

public static boolean readBooleanAttribute(Element elem,
                                           String elementName,
                                           String attributeName,
                                           boolean defaultValue)
Retrieves the boolean value of a given attribute for the first encountered instance of elementName

Parameters:
elem - - element to search
elementName - - name of element to find
attributeName - - name of attribute to retrieve the value of
defaultValue - - default value to return if not found

setValues

public static void setValues(Object target,
                             Map<?,?> attribs,
                             boolean isXmlAttribs,
                             boolean failOnMissingSetter)

extractAttributes

public static ParsedAttributes extractAttributes(Element source)

extractProperties

public static Properties extractProperties(Element source)

toString

public static String toString(Element e)


Copyright © 2008 JBoss, a division of Red Hat. All Rights Reserved.