public abstract class AbstractElement extends Object implements Element
This class is the Base class for Node,
Edge and Graph.
An element is made of an unique and arbitrary identifier that identifies it,
and a set of attributes.
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractElement.AttributeChangeEvent |
| Constructor and Description |
|---|
AbstractElement(String id)
New element.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAttribute(String attribute,
Object... values)
Add or replace the value of an attribute.
|
void |
addAttributes(Map<String,Object> attributes)
Add or replace each attribute found in attributes.
|
void |
changeAttribute(String attribute,
Object... values)
Like
Element.addAttribute(String, Object...) but for consistency. |
void |
clearAttributes()
Remove all registered attributes.
|
Object[] |
getArray(String key)
Get the array of objects bound to key.
|
<T> T |
getAttribute(String key)
Get the attribute object bound to the given key.
|
<T> T |
getAttribute(String key,
Class<T> clazz)
Get the attribute object bound to the given key if it is an instance of
the given class.
|
int |
getAttributeCount()
Number of attributes stored in this element.
|
Iterator<String> |
getAttributeKeyIterator()
Iterator on all attributes keys.
|
Collection<String> |
getAttributeKeySet()
An unmodifiable view on the set of attribute keys.
|
Iterable<String> |
getEachAttributeKey()
An iterable view on the set of attribute keys usable within a for-each
loop.
|
<T> T |
getFirstAttributeOf(Class<T> clazz,
String... keys)
Like
Element.getAttribute(String, Class), but returns the first existing
attribute in a list of keys, instead of only one key. |
<T> T |
getFirstAttributeOf(String... keys)
Like
Element.getAttribute(String), but returns the first existing
attribute in a list of keys, instead of only one key. |
HashMap<?,?> |
getHash(String key)
Get the hash bound to key.
|
String |
getId()
Unique identifier of this element.
|
int |
getIndex()
The current index of this element
|
String |
getLabel(String key)
Get the label string bound to the given key key.
|
double |
getNumber(String key)
Get the number bound to key.
|
ArrayList<? extends Number> |
getVector(String key)
Get the vector of number bound to key.
|
boolean |
hasArray(String key)
Does this element store an array value for the given key?
|
boolean |
hasAttribute(String key)
Does this element store a value for the given attribute key?
|
boolean |
hasAttribute(String key,
Class<?> clazz)
Does this element store a value for the given attribute key and this
value is an instance of the given class?
|
boolean |
hasHash(String key)
Does this element store a hash value for the given key?
|
boolean |
hasLabel(String key)
Does this element store a label value for the given key?
|
boolean |
hasNumber(String key)
Does this element store a number for the given key?
|
boolean |
hasVector(String key)
Does this element store a vector value for the given key?
|
void |
removeAttribute(String attribute)
Remove an attribute.
|
void |
setAttribute(String attribute,
Object... values)
Like
Element.addAttribute(String, Object...) but for consistency. |
String |
toString()
Override the Object method
|
public AbstractElement(String id)
id - The unique identifier of this element.public String getId()
Elementpublic int getIndex()
Elementpublic <T> T getAttribute(String key)
ElementgetAttribute in interface Elementkey - Name of the attribute to search.public <T> T getFirstAttributeOf(String... keys)
ElementElement.getAttribute(String), but returns the first existing
attribute in a list of keys, instead of only one key. The key list order
matters.getFirstAttributeOf in interface Elementkeys - Several strings naming attributes.public <T> T getAttribute(String key, Class<T> clazz)
ElementgetAttribute in interface Elementkey - The attribute name to search.clazz - The expected attribute class.public <T> T getFirstAttributeOf(Class<T> clazz, String... keys)
ElementElement.getAttribute(String, Class), but returns the first existing
attribute in a list of keys, instead of only one key. The key list order
matters.getFirstAttributeOf in interface Elementclazz - The class the attribute must be instance of.keys - Several string naming attributes.public String getLabel(String key)
Elementpublic double getNumber(String key)
Elementpublic ArrayList<? extends Number> getVector(String key)
Elementpublic Object[] getArray(String key)
Elementpublic HashMap<?,?> getHash(String key)
ElementCompoundAttribute interface are considered like hashes since they
can be transformed to a hash. If an attribute with the same name exists
but is not a hash, null is returned. We cannot enforce the type of the
key. It is considered a string and you should use "Object.toString()" to
get it.public boolean hasAttribute(String key)
ElementhasAttribute in interface Elementkey - The name of the attribute to search.public boolean hasAttribute(String key, Class<?> clazz)
ElementhasAttribute in interface Elementkey - The name of the attribute to search.clazz - The expected class of the attribute value.public boolean hasLabel(String key)
Elementpublic boolean hasNumber(String key)
Elementpublic boolean hasVector(String key)
Elementpublic boolean hasArray(String key)
Elementpublic boolean hasHash(String key)
ElementCompoundAttribute class.public Iterator<String> getAttributeKeyIterator()
ElementgetAttributeKeyIterator in interface Elementpublic Iterable<String> getEachAttributeKey()
ElementgetEachAttributeKey in interface Elementpublic Collection<String> getAttributeKeySet()
ElementgetAttributeKeySet in interface Elementpublic int getAttributeCount()
ElementgetAttributeCount in interface Elementpublic void clearAttributes()
ElementclearAttributes in interface Elementpublic void addAttribute(String attribute, Object... values)
ElementaddAttribute in interface Elementattribute - The attribute name.values - The attribute value or set of values.public void changeAttribute(String attribute, Object... values)
ElementElement.addAttribute(String, Object...) but for consistency.changeAttribute in interface Elementattribute - The attribute name.values - The attribute value or array of values.Element.addAttribute(String, Object...)public void setAttribute(String attribute, Object... values)
ElementElement.addAttribute(String, Object...) but for consistency.setAttribute in interface Elementattribute - The attribute name.values - The attribute value or array of values.Element.addAttribute(String, Object...)public void addAttributes(Map<String,Object> attributes)
ElementaddAttributes in interface Elementattributes - A set of (key,value) pairs.public void removeAttribute(String attribute)
ElementremoveAttribute in interface Elementattribute - Name of the attribute to remove.Copyright © 2015. All rights reserved.