Coverage Report - net.sf.snmpadaptor4j.core.mapping.SnmpTrapMapping
 
Classes in this File Line Coverage Branch Coverage Complexity
SnmpTrapMapping
100 %
17/17
100 %
18/18
2,4
 
 1  
 package net.sf.snmpadaptor4j.core.mapping;
 2  
 
 3  
 import java.io.Serializable;
 4  
 import net.sf.snmpadaptor4j.object.SnmpOid;
 5  
 
 6  
 /**
 7  
  * Object containing the mapping to build SNMP traps from JMX notifications.
 8  
  * @author <a href="http://fr.linkedin.com/in/jpminetti/">Jean-Philippe MINETTI</a>
 9  
  */
 10  
 public abstract class SnmpTrapMapping
 11  
                 implements Serializable {
 12  
 
 13  
         /**
 14  
          * Serial number.
 15  
          */
 16  
         private static final long serialVersionUID = -3245663684853609245L;
 17  
 
 18  
         /**
 19  
          * <code>source</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}.
 20  
          */
 21  
         private final SnmpOid source;
 22  
 
 23  
         /**
 24  
          * Mapping to build the <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap} from a JMX notification.
 25  
          */
 26  
         private final DataMapTrapMapping dataMap;
 27  
 
 28  
         /**
 29  
          * Hidden constructor (abstract class).
 30  
          * @param source <code>source</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}.
 31  
          * @param dataMap Mapping to build the <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap} from a JMX notification.
 32  
          */
 33  
         protected SnmpTrapMapping (final SnmpOid source, final DataMapTrapMapping dataMap) {
 34  302
                 super();
 35  302
                 this.source = source;
 36  302
                 this.dataMap = dataMap;
 37  302
         }
 38  
 
 39  
         /**
 40  
          * Returns the <code>source</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}.
 41  
          * @return <code>source</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap}.
 42  
          */
 43  
         public final SnmpOid getSource () {
 44  20
                 return this.source;
 45  
         }
 46  
 
 47  
         /**
 48  
          * Returns the mapping to build the <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap} from a JMX notification.
 49  
          * @return Mapping to build the <code>dataMap</code> field of {@link net.sf.snmpadaptor4j.object.SnmpTrap SnmpTrap} from a JMX notification.
 50  
          */
 51  
         public final DataMapTrapMapping getDataMap () {
 52  13
                 return this.dataMap;
 53  
         }
 54  
 
 55  
         /*
 56  
          * {@inheritDoc}
 57  
          * @see java.lang.Object#hashCode()
 58  
          */
 59  
         @Override
 60  
         public int hashCode () {
 61  
                 final int prime = 31;
 62  40
                 int result = 1;
 63  40
                 result = prime * result + ((this.dataMap == null) ? 0 : this.dataMap.hashCode());
 64  40
                 result = prime * result + ((this.source == null) ? 0 : this.source.hashCode());
 65  40
                 return result;
 66  
         }
 67  
 
 68  
         /*
 69  
          * {@inheritDoc}
 70  
          * @see java.lang.Object#equals(java.lang.Object)
 71  
          */
 72  
         @Override
 73  
         public boolean equals (final Object obj) {
 74  80
                 boolean result = false;
 75  80
                 if ((obj != null) && getClass().equals(obj.getClass())) {
 76  76
                         final SnmpTrapMapping other = (SnmpTrapMapping) obj;
 77  76
                         result = (this.source != null ? this.source.equals(other.source) : (other.source == null));
 78  76
                         if (result) {
 79  70
                                 result = (this.dataMap != null ? this.dataMap.equals(other.dataMap) : (other.dataMap == null));
 80  
                         }
 81  
                 }
 82  80
                 return result;
 83  
         }
 84  
 
 85  
 }