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 |
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(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.
|
containsKey, findAttribute, findFirst, findValues, get, get, getAll, getAttributeNames, getFirst, getKey, getMap, getNames, getValues, isEmpty, sizevoid set(int index,
java.lang.Object value)
java.lang.IndexOutOfBoundsException - if index is out of range (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 (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 (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 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()