*/
package org.opendaylight.yangtools.yang2sources.plugin;
+import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
import com.google.common.collect.ImmutableSet;
import org.opendaylight.yangtools.concepts.Immutable;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
+import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
+import org.opendaylight.yangtools.yang2sources.spi.ModuleResourceResolver;
-final class ContextHolder implements Immutable {
+final class ContextHolder implements Immutable, ModuleResourceResolver {
private final EffectiveModelContext context;
private final Set<Module> modules;
private final Set<SourceIdentifier> sources;
this.sources = ImmutableSet.copyOf(sources);
}
+ @Override
+ public Optional<String> findModuleResourcePath(final Module module,
+ final Class<? extends SchemaSourceRepresentation> representation) {
+ checkArgument(YangTextSchemaSource.class.equals(requireNonNull(representation)),
+ "Unsupported representation %s", representation);
+ final SourceIdentifier id = Util.moduleToIdentifier(module);
+ return sources.contains(id)
+ ? Optional.of("/" + YangToSourcesProcessor.META_INF_YANG_STRING_JAR + "/" + id.toYangFilename())
+ : Optional.empty();
+ }
+
EffectiveModelContext getContext() {
return context;
}
Set<Module> getYangModules() {
return modules;
}
-
- Optional<String> moduleToResourcePath(final Module mod) {
- final SourceIdentifier id = Util.moduleToIdentifier(mod);
- return sources.contains(id)
- ? Optional.of("/" + YangToSourcesProcessor.META_INF_YANG_STRING_JAR + "/" + id.toYangFilename())
- : Optional.empty();
- }
-}
\ No newline at end of file
+}