Merge "Added iana-if-type and iana-afn-safi models."
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / 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.yangtools.yang.model.util;\r
9 \r
10 import java.util.Collections;\r
11 import java.util.List;\r
12 \r
13 import org.opendaylight.yangtools.yang.common.QName;\r
14 import org.opendaylight.yangtools.yang.model.api.SchemaPath;\r
15 import org.opendaylight.yangtools.yang.model.api.Status;\r
16 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;\r
17 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;\r
18 \r
19 /**\r
20  * The <code>default</code> implementation of Identityref Type Definition\r
21  * interface.\r
22  *\r
23  * @see IdentityrefTypeDefinition\r
24  */\r
25 public final class IdentityrefType implements IdentityrefTypeDefinition {\r
26     private final QName name = BaseTypes.constructQName("identityref");\r
27     private final SchemaPath path;\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     private final IdentityrefTypeDefinition baseType;\r
31     private final QName identity;\r
32     private final String units = "";\r
33 \r
34     public IdentityrefType(QName identity, SchemaPath schemaPath) {\r
35         this.identity = identity;\r
36         this.path = schemaPath;\r
37         this.baseType = this;\r
38     }\r
39 \r
40     @Override\r
41     public String getUnits() {\r
42         return units;\r
43     }\r
44 \r
45     @Override\r
46     public Object getDefaultValue() {\r
47         return identity;\r
48     }\r
49 \r
50     @Override\r
51     public QName getQName() {\r
52         return name;\r
53     }\r
54 \r
55     @Override\r
56     public SchemaPath getPath() {\r
57         return path;\r
58     }\r
59 \r
60     @Override\r
61     public String getDescription() {\r
62         return description;\r
63     }\r
64 \r
65     @Override\r
66     public String getReference() {\r
67         return reference;\r
68     }\r
69 \r
70     @Override\r
71     public Status getStatus() {\r
72         return Status.CURRENT;\r
73     }\r
74 \r
75     @Override\r
76     public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
77         return Collections.emptyList();\r
78     }\r
79 \r
80     @Override\r
81     public QName getIdentity() {\r
82         return identity;\r
83     }\r
84 \r
85     @Override\r
86     public IdentityrefTypeDefinition getBaseType() {\r
87         return baseType;\r
88     }\r
89 \r
90     @Override\r
91     public String toString() {\r
92         return "identityref " + identity.getLocalName();\r
93     }\r
94 \r
95 }\r