Implemented support for generating YangModuleInfo implementation.
[yangtools.git] / yang / yang-binding / src / main / java / org / opendaylight / yangtools / yang / binding / YangModuleInfo.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.binding;
9
10 import java.io.IOException;
11 import java.io.InputStream;
12
13 import com.google.common.collect.ImmutableSet;
14
15 public interface YangModuleInfo {
16
17     /**
18      * Returns yang module name
19      *
20      * @return
21      */
22     String getName();
23
24     /**
25      *
26      * Returns revision of yang module.
27      *
28      * @return
29      */
30     String getRevision();
31
32     /**
33      * Returns XML namespace associated to the YANG module
34      *
35      * @return XML namespace associated to the YANG module.
36      */
37     String getNamespace();
38
39     InputStream getModuleSourceStream() throws IOException;
40
41     ImmutableSet<YangModuleInfo> getImportedModules();
42
43 }