public class ElementUtil extends Object
We use a simple naming convention of meta-data key names: data is stored heirarchically separated by dots. The last name may contain a colon ':' character that is read as name:attribute. For example setting X.Y.Z to someValue, would map to an XML snippet of:
<X> <Y> <Z>someValue</Z> </Y> </X>
And X.Y.Z:key to anotherValue as:
<X> <Y> <Z key="anotherValue" /> </Y> </X>
Some XML cannot be built or accessed using this naming convention (e.g. a typical Roster reset packet). More complex XML packet should be represented using the XMPPDOMFragment. The Element class is designed to provide 80% of XML manipulation capabilities with the simplest 20% of code and API size making it convenient for meta-data, simple IQ packets, etc.
Modifier and Type | Method and Description |
---|---|
static void |
deleteProperty(org.dom4j.Element element,
String name)
Deletes the specified property.
|
static String[] |
getChildrenProperties(org.dom4j.Element element,
String parent)
Return all children property names of a parent property as a String array,
or an empty array if the if there are no children.
|
String[] |
getProperties(org.dom4j.Element element,
String name)
Return all values who's path matches the given property name as a String array,
or an empty array if the if there are no children.
|
static String |
getProperty(org.dom4j.Element element,
String name)
Returns the value of the specified property.
|
static String[] |
getRecursiveChildrenProperties(org.dom4j.Element element,
String parent)
Returns all recursive children of the given parent property or an empty string array
if no children exist.
|
static boolean |
includesProperty(org.dom4j.Element element,
String name)
Returns true if the specified property is included in the XML hierarchy.
|
static void |
setProperties(org.dom4j.Element element,
String name,
String[] values)
Sets a property to an array of values.
|
static void |
setProperty(org.dom4j.Element element,
String name,
String value)
Sets the value of the specified property.
|
public static String getProperty(org.dom4j.Element element, String name)
null
answer does not necessarily mean
that the property does not exist.element
- the element from which the property should be retrievedname
- the name of the property to get.public static boolean includesProperty(org.dom4j.Element element, String name)
element
- the element to checkname
- the name of the property to find out.public String[] getProperties(org.dom4j.Element element, String name)
getProperties() allows you to retrieve several values with the same property name. For example, consider the XML file entry:
<foo> <bar> <prop>some value</prop> <prop>other value</prop> <prop>last value</prop> </bar> </foo>If you call getProperties("foo.bar.prop") will return a string array containing {"some value", "other value", "last value"}.
element
- the element to get the properties forname
- the name of the property to retrievepublic static void setProperties(org.dom4j.Element element, String name, String[] values)
<foo> <bar> <prop>some value</prop> <prop>other value</prop> <prop>last value</prop> </bar> </foo>
element
- the element to set the properties onname
- the name of the property.values
- The array of values for the property (can be empty but not null)public static String[] getChildrenProperties(org.dom4j.Element element, String parent)
X.Y.A
, X.Y.B
, and X.Y.C
, then
the child properties of X.Y
are A
, B
, and
C
.element
- the element to get the properties fromparent
- the name of the parent property.public static String[] getRecursiveChildrenProperties(org.dom4j.Element element, String parent)
element
- the element to get the properties fromparent
- the parent property.public static void setProperty(org.dom4j.Element element, String name, String value)
element
- the element to set the property onname
- the name of the property to set.value
- the new value for the property.public static void deleteProperty(org.dom4j.Element element, String name)
Deletes the specified property.
You MAY NOT use the atttribute markup (using a ':' in the last element name) with this call. deleteProperty() removes both the containing text, and the element itself along with any attributes associated with that element.
element
- the element to delete the property fromname
- the property to delete.Copyright © 2003–2020 Ignite Realtime. All rights reserved.