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 }