import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ServiceLoader;

public class AplikasiPenerjemah {
    public static void main(String[] args) throws IOException {
        Path berkasLayanan = Path.of("META-INF", "services", "Penerjemah");
        Files.createDirectories(berkasLayanan.getParent());
        Files.writeString(berkasLayanan, "PenerjemahId\nPenerjemahFormal\n",
                StandardCharsets.UTF_8);

        System.out.println("Berkas layanan : " + berkasLayanan);
        System.out.println("Isi            :");
        for (String baris : Files.readAllLines(berkasLayanan, StandardCharsets.UTF_8)) {
            System.out.println("  " + baris);
        }
        System.out.println();

        ServiceLoader<Penerjemah> penyedia = ServiceLoader.load(Penerjemah.class);
        for (Penerjemah p : penyedia) {
            System.out.println("Penyedia : " + p.getClass().getSimpleName());
            System.out.println("Hasil    : " + p.terjemahkan("selamat pagi"));
        }
    }
}
