Refactored YangModelParserImpl
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / yang / model / util / IdentityrefType.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.yang.model.util;\r
9 \r
10 import java.util.Collections;\r
11 import java.util.List;\r
12 \r
13 import org.opendaylight.controller.yang.common.QName;\r
14 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
15 import org.opendaylight.controller.yang.model.api.Status;\r
16 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;\r
17 import org.opendaylight.controller.yang.model.api.type.IdentityrefTypeDefinition;\r
18 \r
19 /**\r
20  * The <code>default</code> implementation of Identityref Type Definition interface.\r
21  *\r
22  * @see IdentityrefTypeDefinition\r
23  */\r
24 public class IdentityrefType implements IdentityrefTypeDefinition {\r
25 \r
26     private final QName name = BaseTypes.constructQName("identityref");\r
27     private final SchemaPath path = BaseTypes.schemaPath(name);\r
28     private final String description = "The identityref type is used to reference an existing identity.";\r
29     private final String reference = "https://tools.ietf.org/html/rfc6020#section-9.10";\r
30 \r
31     private final QName identity;\r
32 \r
33     private String units = "";\r
34 \r
35     public IdentityrefType(QName identity) {\r
36         this.identity = identity;\r
37     }\r
38 \r
39     @Override\r
40     public String getUnits() {\r
41         return units;\r
42     }\r
43 \r
44     @Override\r
45     public Object getDefaultValue() {\r
46         return identity;\r
47     }\r
48 \r
49     @Override\r
50     public QName getQName() {\r
51         return name;\r
52     }\r
53 \r
54     @Override\r
55     public SchemaPath getPath() {\r
56         return path;\r
57     }\r
58 \r
59     @Override\r
60     public String getDescription() {\r
61         return description;\r
62     }\r
63 \r
64     @Override\r
65     public String getReference() {\r
66         return reference;\r
67     }\r
68 \r
69     @Override\r
70     public Status getStatus() {\r
71         return Status.CURRENT;\r
72     }\r
73 \r
74     @Override\r
75     public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
76         return Collections.emptyList();\r
77     }\r
78 \r
79     @Override\r
80     public QName getIdentity() {\r
81         return identity;\r
82     }\r
83 \r
84     @Override\r
85     public IdentityrefTypeDefinition getBaseType() {\r
86         return this;\r
87     }\r
88 \r
89 }\r