// Copyright © 2011-2014, Esko Luontola <www.orfjackal.net>
// This software is released under the Apache License 2.0.
// The license text is at http://www.apache.org/licenses/LICENSE-2.0
package fi.jumi.launcher.daemon;
import fi.jumi.core.util.Boilerplate;
import javax.annotation.concurrent.Immutable;
import java.io.*;
import java.util.Properties;
@Immutable
public class EmbeddedDaemonJar implements DaemonJar {
private static final String daemonJarName;
static {
try (InputStream in = getResourceAsStream("EmbeddedDaemonJar.properties")) {
Properties p = new Properties();
p.load(in);
daemonJarName = p.getProperty("daemonJarName");
} catch (IOException e) {
throw Boilerplate.rethrow(e);
}
}
@Override
public String getDaemonJarName() {
return daemonJarName;
}
@Override
public InputStream getDaemonJarAsStream() {
return getResourceAsStream(daemonJarName);
}
private static InputStream getResourceAsStream(String resource) {
InputStream in = EmbeddedDaemonJar.class.getResourceAsStream(resource);
if (in == null) {
throw new IllegalArgumentException("resource not found: " + resource);
}
return in;
}
}