Cleanup yang.model.api.meta
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / type / BitsTypeDefinition.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. 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.yang.model.api.type;
9
10 import java.util.List;
11
12 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
13 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
14
15 /**
16  * 
17  * Makes is possible to access to the individual bits values of this type.
18  * 
19  */
20 public interface BitsTypeDefinition extends TypeDefinition<BitsTypeDefinition> {
21
22     /**
23      * Returns all bit values.
24      * 
25      * @return list of <code>Bit</code> type instastances with data about all
26      *         individual bits of <code>bits</code> YANG built-in type
27      */
28     List<Bit> getBits();
29
30     /**
31      * 
32      * Contains the methods for accessing the data about the individual bit of
33      * <code>bits</code> YANG type.
34      */
35     interface Bit extends SchemaNode {
36         /**
37          * The position value MUST be in the range 0 to 4294967295, and it MUST
38          * be unique within the bits type.
39          * 
40          * @return The position value of bit in range from 0 to 4294967295.
41          */
42         Long getPosition();
43
44         /**
45          * Returns the name of the concrete bit.
46          * 
47          * @return string with the name of the concrete bit
48          */
49         String getName();
50     }
51 }