blob: 280831b239d5d91923ddf46466633dc690eb2050 [file] [log] [blame]
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import org.checkerframework.checker.i18n.qual.Localized;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.common.subtyping.qual.Bottom;
interface Importer {
List<Pair<@Localized String, List<String>>> getSupportedFileTypes();
}
interface Pair<A, B> {
B getSecond();
}
public class ImporterManager {
private static final List<Importer> registeredImporters = new ArrayList<>();
public static void chooseAndImportFile(Object parent) {
Function<@NonNull ?, @NonNull ?> x =
(@NonNull Importer imp) ->
imp.getSupportedFileTypes().stream()
.flatMap(
(@Bottom Pair<@Localized String, List<String>> p) ->
p.getSecond().stream());
}
}