Skip to content
Advertisement

GraphStream setAttribute( ) vs addAttribute( )

I don’t understand the difference between setAttribute( ) and addAttribute( ) in GraphStream1.3.

In GraphStream‘s Element API 1.3 it’s explained that setAttribute is

Like addAttribute() but for consistency.

what does it means?

Advertisement

Answer

It is most likely that they mean api consistency with this wording; overall consistency between their own API or what developers might expect to find in general in the API of a Java library.

For example properties on Java Beans (pojo’s) are usually implemented as getter and setter methods by convention (rather than language features, as can be found in C#).

So perhaps the graphstream devs wanted to have both getAttribute and setAttribute in a similar fashion.

This can be confirmed by checking one of the Known Implementing Classes as listed in the javadoc; for example org.graphstream.graph.implementations.AbstractElement, where the setAttribute method is just calling addAttribute directly:

    /**
     * @complexity O(log(n)) with n being the number of attributes of this
     *             element.
     */
    public void setAttribute(String attribute, Object... values) {
        addAttribute(attribute, values);
    }

Taken from the decompiled jar or the sources jar of the following artifact.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement