* 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;
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) {
}
@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
* @return ToStringHelper supplied as input argument.
*/
protected ToStringHelper addToStringAttributes(final @NonNull ToStringHelper toStringHelper) {
- return toStringHelper.add("identifier", identifier);
+ return toStringHelper.add("identifier", sourceId);
}
/**
* @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));
}
}