ModelPackageConnector.java
/**
* Copyright (c) 2018 European Organisation for Nuclear Research (CERN), All Rights Reserved.
*/
package org.jmad.modelpack.connect;
import org.jmad.modelpack.domain.JMadModelPackageRepository;
import org.jmad.modelpack.domain.ModelPackageVariant;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.net.URI;
import java.util.Set;
public interface ModelPackageConnector {
Flux<ModelPackageVariant> availablePackages(JMadModelPackageRepository repository);
Mono<ModelPackageVariant> packageFromUri(URI uri);
Set<String> handledSchemes();
default boolean canHandle(JMadModelPackageRepository repo) {
return handledSchemes().contains(repo.connectorScheme());
}
default boolean canHandle(URI uri) {
return handledSchemes().contains(uri.getScheme());
}
}