Rename binding-lib
[yangtools.git] / binding / binding-model-ri / src / main / java / org / opendaylight / yangtools / binding / model / ri / generated / type / builder / RuntimeEnumerationBuilder.java
1 /*
2  * Copyright (c) 2018 Pantheon Technologies, s.r.o. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.yangtools.binding.model.ri.generated.type.builder;
9
10 import java.util.Optional;
11 import org.opendaylight.yangtools.binding.model.api.Enumeration;
12 import org.opendaylight.yangtools.binding.model.api.JavaTypeName;
13 import org.opendaylight.yangtools.binding.model.api.TypeComment;
14 import org.opendaylight.yangtools.binding.model.api.YangSourceDefinition;
15 import org.opendaylight.yangtools.yang.model.api.Status;
16
17 public final class RuntimeEnumerationBuilder extends AbstractEnumerationBuilder {
18     public RuntimeEnumerationBuilder(final JavaTypeName identifier) {
19         super(identifier);
20     }
21
22     @Override
23     public void setReference(final String reference) {
24         // No-op
25     }
26
27     @Override
28     public void setModuleName(final String moduleName) {
29         // No-op
30     }
31
32     @Override
33     public void setDescription(final String description) {
34         // No-op
35     }
36
37     @Override
38     public void setYangSourceDefinition(final YangSourceDefinition definition) {
39         // No-op
40     }
41
42     @Override
43     public Enumeration toInstance() {
44         return new EnumerationImpl(this);
45     }
46
47     @Override
48     EnumPair createEnumPair(final String name, final String mappedName, final int value, final Status status,
49             final String description, final String reference) {
50         return new EnumPair(name, mappedName, value);
51     }
52
53     private static final class EnumPair extends AbstractPair {
54         EnumPair(final String name, final String mappedName, final int value) {
55             super(name, mappedName, value);
56         }
57
58         @Override
59         public Optional<String> getDescription() {
60             throw unsupported();
61         }
62
63         @Override
64         public Optional<String> getReference() {
65             throw unsupported();
66         }
67
68         @Override
69         public Status getStatus() {
70             throw unsupported();
71         }
72     }
73
74     private static final class EnumerationImpl extends AbstractEnumeration {
75         EnumerationImpl(final RuntimeEnumerationBuilder builder) {
76             super(builder);
77         }
78
79         @Override
80         public TypeComment getComment() {
81             throw unsupported();
82         }
83
84         @Override
85         public String getDescription() {
86             throw unsupported();
87         }
88
89         @Override
90         public String getReference() {
91             throw unsupported();
92         }
93
94         @Override
95         public String getModuleName() {
96             throw unsupported();
97         }
98
99         @Override
100         public Optional<YangSourceDefinition> getYangSourceDefinition() {
101             throw unsupported();
102         }
103     }
104
105     static UnsupportedOperationException unsupported() {
106         return new UnsupportedOperationException("Not available at runtime");
107     }
108 }