Merge "OF plugin classes must have a strict dependency on Connection Service"
[controller.git] / opendaylight / sal / yang-prototype / code-generator / binding-model-api / src / main / java / org / opendaylight / controller / sal / binding / model / api / ParameterizedType.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. 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.controller.sal.binding.model.api;\r
9 \r
10 /**\r
11  * Represents an instance of simple parametrized type such as List<String>.\r
12  *\r
13  * The parametrized Type is designed to be used to store information of Java\r
14  * Generic Type. The array of {@link #getActualTypeArguments()} holds\r
15  * information of all generic parameters defined for Parameterized Type.\r
16  */\r
17 public interface ParameterizedType extends Type {\r
18 \r
19     /**\r
20      * Returns array of Types that are defined for Parameterized Type.\r
21      * <br>\r
22      * (for example if ParameterizedType encapsulates java generic Map that\r
23      * specifies two parameters Map<K,V> and the K is java.lang.Integer and V\r
24      * is defined as GeneratedType the array will contain two Types to store\r
25      * the information of generic parameters.)\r
26      *\r
27      * @return array of Types that are defined for Parameterized Type.\r
28      */\r
29     Type[] getActualTypeArguments();\r
30 \r
31     /**\r
32      * Returns the Raw Type definition of Parameterized Type.\r
33      *\r
34      * @return the Raw Type definition of Parameterized Type.\r
35      */\r
36     Type getRawType();\r
37 }\r