abf7695d6f93207ec64d0e349be96b9e40803f2a
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / TypeToClassInitHelper.java
1 /*\r
2  * Copyright (c) 2013 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 package org.opendaylight.openflowjava.protocol.impl.util;\r
9 \r
10 import java.util.Map;\r
11 \r
12 /**\r
13  * @author michal.polkorab\r
14  *\r
15  */\r
16 public class TypeToClassInitHelper {\r
17 \r
18     private short version;\r
19     private Map<TypeToClassKey, Class<?>> messageClassMap;\r
20 \r
21     /**\r
22      * Constructor\r
23      * @param version protocol wire version\r
24      * @param messageClassMap map which stores type to class mapping\r
25      */\r
26     public TypeToClassInitHelper(short version, Map<TypeToClassKey, \r
27             Class<?>> messageClassMap) {\r
28         this.version = version;\r
29         this.messageClassMap = messageClassMap;\r
30     }\r
31 \r
32     /**\r
33      * Registers Class int the type to class mapping\r
34      * @param type code value for message type / class\r
35      * @param clazz corresponding code -> class\r
36      */\r
37     public void registerTypeToClass(short type, Class<?> clazz) {\r
38         messageClassMap.put(new TypeToClassKey(version, type), clazz);\r
39     }\r
40 }\r