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 / Type.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  * The Type interface defines the base type for all types defined in java.\r
12  * Each Type defined in java MUST contain name and package name,\r
13  * except of primitive types like int, byte etc. In case of mapping of\r
14  * primitive type the package name MUST be left as empty string.\r
15  *\r
16  */\r
17 public interface Type {\r
18     /**\r
19      * Returns name of the package that interface belongs to.\r
20      * \r
21      * @return name of the package that interface belongs to\r
22      */\r
23     public String getPackageName();\r
24 \r
25     /**\r
26      * Returns name of the interface.\r
27      * \r
28      * @return name of the interface.\r
29      */\r
30     public String getName();\r
31 \r
32     /**\r
33      * Returns fully qualified name of Type.\r
34      * <br>\r
35      * The fully qualified name of Type MUST be returned in following format:\r
36      * <ul>\r
37      *     <li>If does not contains package name: [type name] (e.g. int, byte,\r
38      *     byte[],...)</li>\r
39      *     <li>If Type contains package name: [package name].[type name]\r
40      *     (e.g java.lang.Byte, org.opendaylight.controller.gen.GenType)</li>\r
41      * </ul>\r
42      *\r
43      * @return fully qualified name of Type.\r
44      */\r
45     public String getFullyQualifiedName();\r
46 }\r