public static interface Proxy.Attributes extends Proxy.AttributesRO
node.attributes
- read-write.
Notes on attribute setters:
node['creationDate'] = format(new Date(), 'MM/yyyy')
Examples:
// == text node["attribute name"] = "a value" assert node["attribute name"].text == "a value" assert node.attributes.getFirst("attribute name") == "a value" // the same // == numbers and others // converts numbers and other stuff with toString() node["a number"] = 1.2 assert node["a number"].text == "1.2" assert node["a number"].num == 1.2d * // == dates def date = new Date() node["a date"] = date assert node["a date"].object.getClass().simpleName == "FormattedDate" assert node["a date"].date == format(date) // == enforce formats on attribute values node["another date"] = format(date, 'yyyy|MM|dd') assert node["another date"].date == format(date, 'yyyy|MM|dd') // change the date while keeping the silly format def index = node.attributes.findAttribute("another date") node.attributes.set(index, new Date(0L)) // == URIs def uri = new URI("http://www.freeplane.org") node["uri"] = uri assert node["uri"].object.getClass().simpleName == "URI" assert node["uri"].object == uri // == remove an attribute node["removed attribute"] = "to be removed" assert node["removed attribute"] == "to be removed" node["removed attribute"] = null assert node.attributes.findFirst("removed attribute") == -1
Modifier and Type | Method and Description |
---|---|
void |
add(java.lang.String name,
java.lang.Object value)
adds an attribute no matter if an attribute with the given name already exists.
|
void |
add(java.lang.String name,
java.lang.Object value,
java.lang.String format)
adds an attribute with formatting pattern no matter if an attribute with the given name already exists.
|
void |
clear()
removes all attributes.
|
java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.Object>> |
iterator()
allows application of Groovy collection methods like each(), collect(), ...
|
void |
optimizeWidths()
optimize widths of attribute view columns according to contents.
|
void |
remove(int index)
removes the attribute at the given index.
|
boolean |
remove(java.lang.String name)
Deprecated.
before 1.1 - use
remove(int) or removeAll(String) instead. |
boolean |
removeAll(java.lang.String name)
removes all attributes with this name.
|
void |
set(int index,
java.lang.Object value)
sets the value of the attribute at an index.
|
void |
set(int index,
java.lang.String name,
java.lang.Object value)
sets name and value of the attribute at the given index.
|
void |
set(int index,
java.lang.String name,
java.lang.Object value,
java.lang.String format)
sets name, value and format pattern of the attribute at the given index.
|
void |
set(java.lang.String name,
java.lang.Object value)
adds an attribute if there is no attribute with the given name or changes
the value of the first attribute with the given name.
|
void |
setFormat(int index,
java.lang.String format)
sets format pattern to the attribute at the given index.
|
containsKey, findAttribute, findFirst, findValues, get, get, getAll, getAttributeNames, getFirst, getKey, getMap, getNames, getValues, isEmpty, size
void set(int index, java.lang.Object value)
java.lang.IndexOutOfBoundsException
- if index is out of range, i. e. index < 0 || index >= size()
.void set(int index, java.lang.String name, java.lang.Object value)
java.lang.IndexOutOfBoundsException
- if index is out of range, i. e. index < 0 || index >= size()
.void set(int index, java.lang.String name, java.lang.Object value, java.lang.String format)
java.lang.IndexOutOfBoundsException
- if index is out of range, i. e. index < 0 || index >= size()
.void setFormat(int index, java.lang.String format)
java.lang.IndexOutOfBoundsException
- if index is out of range, i. e. index < 0 || index >= size()
.@Deprecated boolean remove(java.lang.String name)
remove(int)
or removeAll(String)
instead.boolean removeAll(java.lang.String name)
void remove(int index)
java.lang.IndexOutOfBoundsException
- if index is out of range, i. e. index < 0 || index >= size()
.void set(java.lang.String name, java.lang.Object value)
void add(java.lang.String name, java.lang.Object value)
void add(java.lang.String name, java.lang.Object value, java.lang.String format)
void clear()
java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.Object>> iterator()
def keyList = node.attributes.collect { it.key } def values = node.attributes.collect { it.value } node.attributes.each { if (it.key =~ /.*day/) it.value += ' days' }
void optimizeWidths()