2 * Copyright (c) 2018 Pantheon Technologies, s.r.o. 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
8 package org.opendaylight.yangtools.binding.model.ri.generated.type.builder;
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;
17 public final class RuntimeEnumerationBuilder extends AbstractEnumerationBuilder {
18 public RuntimeEnumerationBuilder(final JavaTypeName identifier) {
23 public void setReference(final String reference) {
28 public void setModuleName(final String moduleName) {
33 public void setDescription(final String description) {
38 public void setYangSourceDefinition(final YangSourceDefinition definition) {
43 public Enumeration toInstance() {
44 return new EnumerationImpl(this);
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);
53 private static final class EnumPair extends AbstractPair {
54 EnumPair(final String name, final String mappedName, final int value) {
55 super(name, mappedName, value);
59 public Optional<String> getDescription() {
64 public Optional<String> getReference() {
69 public Status getStatus() {
74 private static final class EnumerationImpl extends AbstractEnumeration {
75 EnumerationImpl(final RuntimeEnumerationBuilder builder) {
80 public TypeComment getComment() {
85 public String getDescription() {
90 public String getReference() {
95 public String getModuleName() {
100 public Optional<YangSourceDefinition> getYangSourceDefinition() {
105 static UnsupportedOperationException unsupported() {
106 return new UnsupportedOperationException("Not available at runtime");