297e0a8f96180ca3fc4f9dcb2cef5a7b97d4ffe5
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / repo / package-info.java
1 /*
2  * Copyright (c) 2014 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/eplv10.html
7  */
8 /**
9  * This package introduces concepts, generic interfaces and implementations for
10  * creating and working with YANG Schema source repositories and working with them.
11  *
12  * <h2>Concepts</h2>
13  * <dl>
14  * <dt>Schema Source</dt>
15  * <dd>Source of YANG Schema, which is not processed, not resolved against other schemas
16  *    and from contents of <i>Schema Source</i> in combination with other Schema sources
17  *    it is possible to create resolved YANG Schema context.
18  * </dd>
19  * <dt>{@link org.opendaylight.yangtools.yang.model.util.repo.SourceIdentifier}</dt>
20  * <dd>Identifier of Schema Source. Identifier is not tied with source or representation.</dd>
21  * <dt>Schema Source Representation</dt>
22  * <dd>Representation of schema source. Representation of schema source could exists in various
23  * formats (Java types), depending on stage of processing, but representation MUST BE
24  * still result of processing only single unit of schema source (e.g. file, input stream). E.g.:
25  * <ul>
26  * <li>{@link java.lang.String} - textual representation of source code
27  * <li>{@link java.io.InputStream} - input stream containing source code
28  * <li>{@link com.google.common.io.ByteSource} - source for input streams containing source code
29  * <li>Parsed AST - abstract syntax tree, which is result of a parser, but still it is not linked
30  * against other schemas.
31  * </ul>
32  * </dd>
33  * <dt>{@link org.opendaylight.yangtools.yang.model.util.repo.AdvancedSchemaSourceProvider}</dt>
34  * <dd>
35  *    Service which provides query API to obtain <i>Schema Source Representation</i> associated
36  *    with {@link org.opendaylight.yangtools.yang.model.util.repo.SourceIdentifier}.
37  * </dd>
38  * <dt>{@link org.opendaylight.yangtools.yang.model.util.repo.SchemaSourceTransformation}</dt>
39  * <dd>
40  * Function (service) which provides transformation from one <i>Schema Source Representation</i>
41  * type to another.
42  * </dd>
43  * </dl>
44  *
45  *
46  */
47 package org.opendaylight.yangtools.yang.model.util.repo;