import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.io.ByteSource;
+import com.google.common.io.Resources;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
import java.util.Map.Entry;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.concepts.Delegator;
return new DelegatedYinTextSchemaSource(identifier, delegate);
}
+ public static YinTextSchemaSource forFile(final File file) {
+ Preconditions.checkArgument(file.isFile(), "Supplied file %s is not a file", file);
+ return new YinTextFileSchemaSource(identifierFromFilename(file.getName()), file);
+ }
+
+ public static YinTextSchemaSource forResource(final Class<?> clazz, final String resourceName) {
+ final String fileName = resourceName.substring(resourceName.lastIndexOf('/') + 1);
+ final SourceIdentifier identifier = identifierFromFilename(fileName);
+ final URL url = Resources.getResource(clazz, resourceName);
+ return new ResourceYinTextSchemaSource(identifier, url);
+ }
+
private static final class DelegatedYinTextSchemaSource extends YinTextSchemaSource
implements Delegator<ByteSource> {
private final ByteSource delegate;