Added missing extension registration methods + keys (serialization part)
[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         if (!super.equals(obj))\r
49             return false;\r
50         if (!(obj instanceof ExperimenterIdDeserializerKey))\r
51             return false;\r
52         ExperimenterIdDeserializerKey other = (ExperimenterIdDeserializerKey) obj;\r
53         if (experimenterId == null) {\r
54             if (other.experimenterId != null)\r
55                 return false;\r
56         } else if (!experimenterId.equals(other.experimenterId))\r
57             return false;\r
58         return true;\r
59     }\r
60 \r
61     @Override\r
62     public String toString() {\r
63         return super.toString() + " experimenterID: " + experimenterId;\r
64     }\r
65 }