Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
SimpleDataMapTrapMapping |
|
| 2.0;2 |
1 | package net.sf.snmpadaptor4j.core.mapping; | |
2 | ||
3 | import net.sf.snmpadaptor4j.object.SnmpDataType; | |
4 | import net.sf.snmpadaptor4j.object.SnmpOid; | |
5 | ||
6 | /** | |
7 | * Object containing the mapping to build the <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap} from a <code>userData</code> field | |
8 | * of JMX notification and as <b>simple object</b>. | |
9 | * @author <a href="http://fr.linkedin.com/in/jpminetti/">Jean-Philippe MINETTI</a> | |
10 | */ | |
11 | public final class SimpleDataMapTrapMapping | |
12 | extends DataMapTrapMapping { | |
13 | ||
14 | /** | |
15 | * Serial number. | |
16 | */ | |
17 | private static final long serialVersionUID = 2806381975871178286L; | |
18 | ||
19 | /** | |
20 | * SNMP data type of <code>userData</code> field of JMX notification. | |
21 | */ | |
22 | private final SnmpDataType userDataType; | |
23 | ||
24 | /** | |
25 | * OID of <code>userData</code> field of JMX notification. | |
26 | */ | |
27 | private final SnmpOid userDataOid; | |
28 | ||
29 | /** | |
30 | * Hidden constructor. | |
31 | * @param sequenceNumberOid OID of <code>sequenceNumber</code> field of JMX notification. Is NULL if the <code>sequenceNumber</code> should not be present in | |
32 | * <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}. | |
33 | * @param messageOid OID of <code>message</code> field of JMX notification. Is NULL if the <code>message</code> should not be present in <code>dataMap</code> | |
34 | * field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}. | |
35 | * @param hasSystemInfo <code>TRUE</code> for put all system information attributes in the <code>dataMap</code> field of | |
36 | * {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}. | |
37 | * @param userDataType SNMP data type of <code>userData</code> field of JMX notification (must not be <code>NULL</code>). | |
38 | * @param userDataOid OID of <code>userData</code> field of JMX notification (must not be <code>NULL</code>). | |
39 | * @see XmlMappingParser#newSnmpTrapMappingMap(String) | |
40 | */ | |
41 | SimpleDataMapTrapMapping (final SnmpOid sequenceNumberOid, final SnmpOid messageOid, final boolean hasSystemInfo, final SnmpDataType userDataType, | |
42 | final SnmpOid userDataOid) { | |
43 | 62 | super(sequenceNumberOid, messageOid, hasSystemInfo); |
44 | 62 | this.userDataType = userDataType; |
45 | 62 | this.userDataOid = userDataOid; |
46 | 62 | } |
47 | ||
48 | /** | |
49 | * Returns the SNMP data type of <code>userData</code> field of JMX notification. | |
50 | * @return SNMP data type of <code>userData</code> field of JMX notification (never <code>NULL</code>). | |
51 | */ | |
52 | public SnmpDataType getUserDataType () { | |
53 | 3 | return this.userDataType; |
54 | } | |
55 | ||
56 | /** | |
57 | * Returns the OID of <code>userData</code> field of JMX notification. | |
58 | * @return OID of <code>userData</code> field of JMX notification (never <code>NULL</code>). | |
59 | */ | |
60 | public SnmpOid getUserDataOid () { | |
61 | 3 | return this.userDataOid; |
62 | } | |
63 | ||
64 | /* | |
65 | * {@inheritDoc} | |
66 | * @see net.sf.snmpadaptor4j.core.mapping.DataMapTrapMapping#hashCode() | |
67 | */ | |
68 | @Override | |
69 | public int hashCode () { | |
70 | final int prime = 31; | |
71 | 42 | int result = super.hashCode(); |
72 | 42 | result = prime * result + ((this.userDataOid == null) ? 0 : this.userDataOid.hashCode()); |
73 | 42 | result = prime * result + ((this.userDataType == null) ? 0 : this.userDataType.hashCode()); |
74 | 42 | return result; |
75 | } | |
76 | ||
77 | /* | |
78 | * {@inheritDoc} | |
79 | * @see net.sf.snmpadaptor4j.core.mapping.DataMapTrapMapping#equals(java.lang.Object) | |
80 | */ | |
81 | @Override | |
82 | public boolean equals (final Object obj) { | |
83 | 30 | boolean result = false; |
84 | 30 | if (obj == this) { |
85 | 1 | result = true; |
86 | } | |
87 | else { | |
88 | 29 | result = super.equals(obj); |
89 | 29 | if (result) { |
90 | 20 | final SimpleDataMapTrapMapping other = (SimpleDataMapTrapMapping) obj; |
91 | 20 | result = (this.userDataType == other.userDataType); |
92 | 20 | if (result) { |
93 | 17 | result = (this.userDataOid != null ? this.userDataOid.equals(other.userDataOid) : other.userDataOid == null); |
94 | } | |
95 | } | |
96 | } | |
97 | 30 | return result; |
98 | } | |
99 | ||
100 | /* | |
101 | * {@inheritDoc} | |
102 | * @see java.lang.Object#toString() | |
103 | */ | |
104 | @Override | |
105 | public String toString () { | |
106 | 1 | return "SimpleDataMapTrapMapping[sequenceNumberOid=" + getSequenceNumberOid() + "; messageOid=" + getMessageOid() + "; hasSystemInfo=" + isHasSystemInfo() |
107 | + "; userDataType=" + this.userDataType + "; userDataOid=" + this.userDataOid + "]"; | |
108 | } | |
109 | ||
110 | } |