View Javadoc

1   package net.sf.snmpadaptor4j.api;
2   
3   import net.sf.snmpadaptor4j.object.SnmpDataType;
4   import net.sf.snmpadaptor4j.object.SnmpOid;
5   
6   /**
7    * Object representing an accessor to an attribute.
8    * @author <a href="http://fr.linkedin.com/in/jpminetti/">Jean-Philippe MINETTI</a>
9    */
10  public interface AttributeAccessor {
11  
12  	/**
13  	 * Returns the <b>O</b>bject <b>ID</b>entifier (OID) to locate the attribute in the MIB.
14  	 * @return Object Identifier to locate the attribute in the MIB.
15  	 */
16  	SnmpOid getOid ();
17  
18  	/**
19  	 * Returns the SNMP data type of attribute.
20  	 * @return SNMP data type of attribute.
21  	 */
22  	SnmpDataType getSnmpDataType ();
23  
24  	/**
25  	 * Returns the data type of JMX attribute.
26  	 * @return Data type of JMX attribute.
27  	 */
28  	Class<?> getJmxDataType ();
29  
30  	/**
31  	 * Returns the value of attribute.
32  	 * @return Value of attribute.
33  	 * @throws Exception Exception if an error occurred.
34  	 */
35  	Object getValue () throws Exception;
36  
37  	/**
38  	 * Sets the value of attribute.
39  	 * @param value New value of attribute.
40  	 * @throws Exception Exception if an error occurred.
41  	 */
42  	void setValue (Object value) throws Exception;
43  
44  	/**
45  	 * Returns <code>TRUE</code> if the attribute can be read (for SNMP write and read community), <code>FALSE</code> otherwise.
46  	 * @return <code>TRUE</code> if the attribute can be read.
47  	 */
48  	boolean isReadable ();
49  
50  	/**
51  	 * Returns <code>TRUE</code> if the attribute can be write (for SNMP write community), <code>FALSE</code> otherwise.
52  	 * @return <code>TRUE</code> if the attribute can be write.
53  	 */
54  	boolean isWritable ();
55  
56  }