2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.mdsal.binding2.model.api;
11 import com.google.common.annotations.Beta;
14 * Represents an instance of simple parametrized type such as List<String>.
16 * The parametrized Type is designed to be used to store information of Java
17 * Generic Type. The array of {@link #getActualTypeArguments()} holds
18 * information of all generic parameters defined for Parameterized Type.
21 public interface ParameterizedType extends Type {
24 * Returns array of Types that are defined for Parameterized Type.
26 * (for example if ParameterizedType encapsulates java generic Map that
27 * specifies two parameters Map<K,V> and the K is java.lang.Integer and V
28 * is defined as GeneratedType the array will contain two Types to store
29 * the information of generic parameters.)
31 * @return array of Types that are defined for Parameterized Type.
33 Type[] getActualTypeArguments();
36 * Returns the Raw Type definition of Parameterized Type.
38 * @return the Raw Type definition of Parameterized Type.