All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.buschmais.jqassistant.plugin.common.impl.scanner.DefaultUriScannerPlugin Maven / Gradle / Ivy

package com.buschmais.jqassistant.plugin.common.impl.scanner;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Stream;

import com.buschmais.jqassistant.core.scanner.api.ScannerContext;
import com.buschmais.jqassistant.core.scanner.api.Scope;

import static java.util.Optional.of;
import static java.util.stream.Collectors.toSet;

/**
 * Scanner plugin which handles URIs with defined default schemas as input.
 */
public class DefaultUriScannerPlugin extends AbstractUriScannerPlugin {

    private static final Set SCHEMES = Stream.of("file", "http", "https", "ftp")
        .collect(toSet());

    @Override
    public boolean accepts(URI uri, String path, Scope scope) throws IOException {
        String scheme = uri.getScheme()
            .toLowerCase();
        return SCHEMES.contains(scheme);
    }

    @Override
    protected Optional getResource(URI uri, ScannerContext context) throws MalformedURLException {
        return of(uri.toURL());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy