Promote SchemaSourceRepresentation
[yangtools.git] / model / yang-model-spi / src / main / java / org / opendaylight / yangtools / yang / model / spi / source / YinTextSource.java
similarity index 73%
rename from yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java
rename to model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/source/YinTextSource.java
index 9fc0f6254cb85697f1b7b5c2de65acb8de3c9beb..1e780874731c0430cfec522176a10dbc751f274d 100644 (file)
@@ -5,12 +5,11 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.model.repo.api;
+package org.opendaylight.yangtools.yang.model.spi.source;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.io.ByteSource;
@@ -21,21 +20,22 @@ import java.nio.file.Path;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.YangConstants;
 import org.opendaylight.yangtools.yang.common.YangNames;
+import org.opendaylight.yangtools.yang.model.api.source.SourceIdentifier;
+import org.opendaylight.yangtools.yang.model.api.source.YinSourceRepresentation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * YIN text schema source representation. Exposes an RFC6020 or RFC7950 XML representation as an {@link InputStream}.
  */
-@Beta
-public abstract class YinTextSchemaSource extends ByteSource implements YinSchemaSourceRepresentation {
-    private static final Logger LOG = LoggerFactory.getLogger(YinTextSchemaSource.class);
+public abstract class YinTextSource extends ByteSource implements YinSourceRepresentation {
+    private static final Logger LOG = LoggerFactory.getLogger(YinTextSource.class);
     private static final String XML_EXTENSION = ".xml";
 
-    private final @NonNull SourceIdentifier identifier;
+    private final @NonNull SourceIdentifier sourceId;
 
-    protected YinTextSchemaSource(final SourceIdentifier identifier) {
-        this.identifier = requireNonNull(identifier);
+    protected YinTextSource(final SourceIdentifier sourceId) {
+        this.sourceId = requireNonNull(sourceId);
     }
 
     public static @NonNull SourceIdentifier identifierFromFilename(final String name) {
@@ -55,13 +55,13 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem
     }
 
     @Override
-    public final SourceIdentifier getIdentifier() {
-        return identifier;
+    public final SourceIdentifier sourceId() {
+        return sourceId;
     }
 
     @Override
-    public final Class<YinTextSchemaSource> getType() {
-        return YinTextSchemaSource.class;
+    public final Class<YinTextSource> getType() {
+        return YinTextSource.class;
     }
 
     @Override
@@ -79,7 +79,7 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem
      * @return ToStringHelper supplied as input argument.
      */
     protected ToStringHelper addToStringAttributes(final @NonNull ToStringHelper toStringHelper) {
-        return toStringHelper.add("identifier", identifier);
+        return toStringHelper.add("identifier", sourceId);
     }
 
     /**
@@ -90,19 +90,19 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem
      * @param delegate Backing ByteSource instance
      * @return A new YinTextSchemaSource
      */
-    public static @NonNull YinTextSchemaSource delegateForByteSource(final SourceIdentifier identifier,
+    public static @NonNull YinTextSource delegateForByteSource(final SourceIdentifier identifier,
             final ByteSource delegate) {
-        return new DelegatedYinTextSchemaSource(identifier, delegate);
+        return new DelegatedYinTextSource(identifier, delegate);
     }
 
-    public static @NonNull YinTextSchemaSource forPath(final Path path) {
+    public static @NonNull YinTextSource forPath(final Path path) {
         checkArgument(Files.isRegularFile(path), "Supplied path %s is not a regular file", path);
-        return new YinTextFileSchemaSource(identifierFromFilename(path.toFile().getName()), path);
+        return new YinTextFileSource(identifierFromFilename(path.toFile().getName()), path);
     }
 
-    public static @NonNull YinTextSchemaSource forResource(final Class<?> clazz, final String resourceName) {
+    public static @NonNull YinTextSource forResource(final Class<?> clazz, final String resourceName) {
         final String fileName = resourceName.substring(resourceName.lastIndexOf('/') + 1);
-        return new ResourceYinTextSchemaSource(identifierFromFilename(fileName),
+        return new ResourceYinTextSource(identifierFromFilename(fileName),
             Resources.getResource(clazz, resourceName));
     }
 }