1 package org.testng;
2 
3 import java.io.Serializable;
4 import java.util.Set;
5 
6 /**
7  * A trait that is used by all interfaces that lets the user add or remove their
8  * own attributes.
9  */
10 public interface IAttributes extends Serializable {
11   /**
12    * @param name The name of the attribute to return
13    */
getAttribute(String name)14   public Object getAttribute(String name);
15 
16   /**
17    * Set a custom attribute.
18    */
setAttribute(String name, Object value)19   public void setAttribute(String name, Object value);
20 
21   /**
22    * @return all the attributes names.
23    */
getAttributeNames()24   public Set<String> getAttributeNames();
25 
26   /**
27    * Remove the attribute
28    *
29    * @return the attribute value if found, null otherwise
30    */
removeAttribute(String name)31   public Object removeAttribute(String name);
32 }
33