1682d6d3405a85599b112e217352d2f22c8911a1
[openflowjava.git] / openflow-protocol-api / src / main / java / org / opendaylight / openflowjava / protocol / api / keys / experimenter / ExperimenterIdDeserializerKey.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowjava.protocol.api.keys.experimenter;\r
10 \r
11 import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;\r
12 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;\r
13 import org.opendaylight.yangtools.yang.binding.DataObject;\r
14 \r
15 /**\r
16  * @author michal.polkorab\r
17  *\r
18  */\r
19 public final class ExperimenterIdDeserializerKey extends MessageCodeKey \r
20         implements ExperimenterDeserializerKey {\r
21 \r
22     private Long experimenterId;\r
23 \r
24     /**\r
25      * @param version protocol wire version\r
26      * @param experimenterId experimenter / vendor ID\r
27      * @param objectClass class of created object\r
28      */\r
29     public <E extends DataObject> ExperimenterIdDeserializerKey(short version,\r
30             Long experimenterId, Class<E> objectClass) {\r
31         super(version, EncodeConstants.EXPERIMENTER_VALUE, objectClass);\r
32         this.experimenterId = experimenterId;\r
33     }\r
34 \r
35     \r
36     @Override\r
37     public int hashCode() {\r
38         final int prime = 31;\r
39         int result = super.hashCode();\r
40         result = prime * result + ((experimenterId == null) ? 0 : experimenterId.hashCode());\r
41         return result;\r
42     }\r
43 \r
44     @Override\r
45     public boolean equals(Object obj) {\r
46         if (this == obj) {\r
47             return true;\r
48         }\r
49         if (!super.equals(obj)) {\r
50             return false;\r
51         }\r
52         if (!(obj instanceof ExperimenterIdDeserializerKey)) {\r
53             return false;\r
54         }\r
55         ExperimenterIdDeserializerKey other = (ExperimenterIdDeserializerKey) obj;\r
56         if (experimenterId == null) {\r
57             if (other.experimenterId != null) {\r
58                 return false;\r
59             }\r
60         } else if (!experimenterId.equals(other.experimenterId)) {\r
61             return false;\r
62         }\r
63         return true;\r
64     }\r
65 \r
66     @Override\r
67     public String toString() {\r
68         return super.toString() + " experimenterID: " + experimenterId;\r
69     }\r
70 }