package ${hello.pkg};
import java.util.logging.Logger;
public class HelloWorld {
public void run(String[] resources) {
Logger logger = Logger.getLogger(HelloWorld.class.getName());
logger.info("HELLO WORLD");
for (String resource : resources) {
Object url = HelloWorld.class.getResource(resource);
logger.info(resource + " " + (url != null ? "present" : "absent"));
}
}
public static void main(String[] args) {
new HelloWorld().run(args);
}
}
module ${hello.mod} {
exports ${hello.pkg};
requires java.logging;
}
package ${smile.pkg};
import java.util.logging.Logger;
import ${hello.pkg}.HelloWorld;
public class Smile {
public void run(String[] resources) {
Logger logger = Logger.getLogger(Smile.class.getName());
logger.info("\u263a\u263b\u263a\u263b");
for (String resource : resources) {
Object url = HelloWorld.class.getResource(resource);
logger.info(resource + " " + (url != null ? "present" : "absent"));
}
}
public static void main(String[] args) {
new Smile().run(args);
new HelloWorld().run(args);
}
}
module ${smile.mod} {
exports ${smile.pkg};
requires java.logging;
requires ${hello.mod};
}
languages = new HashSet<>();
for (Locale locale : Locale.getAvailableLocales()) {
languages.add(locale.getLanguage());
}
boolean matched = languages.containsAll(Arrays.asList(languagesToFind));
System.exit(matched ? 0 : 1);
}
}]]>
module ${localefinder.mod} {
exports ${localefinder.pkg};
requires jdk.localedata;
}
package ${thrower.pkg};
public class Thrower {
public static void main(String[] args) {
throw new RuntimeException("Deliberate exception.");
}
}
module ${thrower.mod} {
exports ${thrower.pkg};
}
package ${inc.pkg};
public interface IncrementProvider {
int getIncrement();
}
package ${inc.pkg};
import java.util.ServiceLoader;
public class Incrementer {
public static void main(String[] args) {
for (IncrementProvider provider : ServiceLoader.load(IncrementProvider.class)) {
int n = 0;
for (int i = 0; i < 5; i++) {
n += provider.getIncrement();
System.out.println(n);
}
}
}
}
module ${inc.mod} {
exports ${inc.pkg};
uses ${inc.pkg}.IncrementProvider;
}
package ${provider.pkg};
import ${inc.pkg}.IncrementProvider;
public class ByTwoProvider
implements IncrementProvider {
@Override
public int getIncrement() {
return 2;
}
}
module ${provider.mod} {
exports ${provider.pkg};
requires transitive ${inc.mod};
provides ${inc.pkg}.IncrementProvider with ${provider.pkg}.ByTwoProvider;
}