2 * Copyright (c) 2013 Cisco Systems, Inc. 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.mdsal.binding.model.api;
10 import java.util.List;
11 import org.opendaylight.yangtools.yang.model.api.DocumentedNode;
14 * Interface provide methods for reading data of enumeration class.
16 public interface Enumeration extends GeneratedType {
18 * Returns list of annotation definitions associated with enumeration type.
20 * @return list of annotation definitions associated with enumeration type.
23 List<AnnotationType> getAnnotations();
29 * Returns list of the couples - name and value.
31 * @return list of the enumeration pairs.
33 List<Pair> getValues();
36 * Formats enumeration according to rules of the programming language.
38 * @return string with source code in some programming language
40 String toFormattedString();
43 * Interface is used for reading enumeration item. It means item's name and its value.
45 interface Pair extends DocumentedNode.WithStatus {
47 * Returns the name of the enumeration item as it is specified in the input YANG.
49 * @return the name of the enumeration item as it is specified in the input YANG.
54 * Returns the binding representation for the name of the enumeration item.
56 * @return the binding representation for the name of the enumeration item.
58 String getMappedName();
61 * Returns value of the enumeration item.
63 * @return the value of the enumeration item.