View Javadoc

1   package net.sf.snmpadaptor4j.core.mapping;
2   
3   import java.io.Serializable;
4   import net.sf.snmpadaptor4j.object.SnmpDataType;
5   import net.sf.snmpadaptor4j.object.SnmpOid;
6   
7   /**
8    * Mapping to build an entry of the map in <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap} from an entry of map in
9    * <code>userData</code> field of JMX notification.
10   * @author <a href="http://fr.linkedin.com/in/jpminetti/">Jean-Philippe MINETTI</a>
11   * @see MapDataMapTrapMapping
12   */
13  public final class UserDataEntryDataMapTrapMapping
14  		implements Serializable {
15  
16  	/**
17  	 * Serial number.
18  	 */
19  	private static final long serialVersionUID = -520862990459987242L;
20  
21  	/**
22  	 * Key for find the entry in the map of <code>userData</code> field of JMX notification.
23  	 */
24  	private final String key;
25  
26  	/**
27  	 * SNMP data type of entry in the map of <code>userData</code> field of JMX notification.
28  	 */
29  	private final SnmpDataType type;
30  
31  	/**
32  	 * OID of entry in the map of <code>userData</code> field of JMX notification.
33  	 */
34  	private final SnmpOid oid;
35  
36  	/**
37  	 * Hidden constructor.
38  	 * @param key Key for find the entry in the map of <code>userData</code> field of JMX notification (must not be <code>NULL</code>).
39  	 * @param type SNMP data type of entry in the map of <code>userData</code> field of JMX notification (must not be <code>NULL</code>).
40  	 * @param oid OID of entry in the map of <code>userData</code> field of JMX notification (must not be <code>NULL</code>).
41  	 * @see XmlMappingParser#newSnmpTrapMappingMap(String)
42  	 * @see MapDataMapTrapMapping#addUserDataEntry(String, SnmpDataType, SnmpOid)
43  	 */
44  	UserDataEntryDataMapTrapMapping (final String key, final SnmpDataType type, final SnmpOid oid) {
45  		super();
46  		this.key = key;
47  		this.type = type;
48  		this.oid = oid;
49  	}
50  
51  	/**
52  	 * Returns the key for find the entry in the map of <code>userData</code> field of JMX notification.
53  	 * @return Key for find the entry in the map of <code>userData</code> field of JMX notification.
54  	 */
55  	public String getKey () {
56  		return this.key;
57  	}
58  
59  	/**
60  	 * Returns the SNMP data type of entry in the map of <code>userData</code> field of JMX notification.
61  	 * @return SNMP data type of entry in the map of <code>userData</code> field of JMX notification.
62  	 */
63  	public SnmpDataType getType () {
64  		return this.type;
65  	}
66  
67  	/**
68  	 * Returns the OID of entry in the map of <code>userData</code> field of JMX notification.
69  	 * @return OID of entry in the map of <code>userData</code> field of JMX notification.
70  	 */
71  	public SnmpOid getOid () {
72  		return this.oid;
73  	}
74  
75  	/*
76  	 * {@inheritDoc}
77  	 * @see java.lang.Object#hashCode()
78  	 */
79  	@Override
80  	public int hashCode () {
81  		final int prime = 31;
82  		int result = 1;
83  		result = prime * result + ((this.key == null) ? 0 : this.key.hashCode());
84  		result = prime * result + ((this.oid == null) ? 0 : this.oid.hashCode());
85  		result = prime * result + ((this.type == null) ? 0 : this.type.hashCode());
86  		return result;
87  	}
88  
89  	/*
90  	 * {@inheritDoc}
91  	 * @see java.lang.Object#equals(java.lang.Object)
92  	 */
93  	@Override
94  	public boolean equals (final Object obj) {
95  		boolean result = false;
96  		if (obj == this) {
97  			result = true;
98  		}
99  		else if ((obj != null) && getClass().equals(obj.getClass())) {
100 			final UserDataEntryDataMapTrapMapping other = (UserDataEntryDataMapTrapMapping) obj;
101 			result = (this.type == other.type);
102 			if (result) {
103 				result = (this.oid != null ? this.oid.equals(other.oid) : other.oid == null);
104 			}
105 			if (result) {
106 				result = (this.key != null ? this.key.equals(other.key) : other.key == null);
107 			}
108 		}
109 		return result;
110 	}
111 
112 	/*
113 	 * {@inheritDoc}
114 	 * @see java.lang.Object#toString()
115 	 */
116 	@Override
117 	public String toString () {
118 		return "UserDataEntryDataMapTrapMapping[key=" + this.key + "; type=" + this.type + "; oid=" + this.oid + "]";
119 	}
120 
121 }