X-Git-Url: https://git.wpitchoune.net/gitweb/?p=asciidoctor_to_rss.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fwpitchoune%2Fasciidoctor%2FConfiguration.java;fp=src%2Fmain%2Fjava%2Fnet%2Fwpitchoune%2Fasciidoctor%2FConfiguration.java;h=64668a585b821748cb9bf3fd5442e1bf43e686a0;hp=0000000000000000000000000000000000000000;hb=f40278e6f437943d1d4eee937a8203dff046cb28;hpb=76238691b4a28a8d248bad0f17245ac273ff3ace diff --git a/src/main/java/net/wpitchoune/asciidoctor/Configuration.java b/src/main/java/net/wpitchoune/asciidoctor/Configuration.java new file mode 100644 index 0000000..64668a5 --- /dev/null +++ b/src/main/java/net/wpitchoune/asciidoctor/Configuration.java @@ -0,0 +1,63 @@ +package net.wpitchoune.asciidoctor; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +public final class Configuration { + private static final String KEY_HTML_HEADER_FILE = "html.header.file"; + private static final String KEY_FEED_TITLE = "feed.title"; + private static final String KEY_FEED_LINK = "feed.link"; + private static final String KEY_FEED_DESCRIPTION = "feed.description"; + private static final String KEY_FEED_BASEURL = "feed.baseurl"; + private Properties properties; + + private Configuration(Properties properties) { + this.properties = properties; + } + + public String getFeedLink() { + return properties.getProperty(KEY_FEED_LINK); + } + + public String getFeedTitle() { + return properties.getProperty(KEY_FEED_TITLE); + } + + public String getFeedDescription() { + return properties.getProperty(KEY_FEED_DESCRIPTION); + } + + public String getFeedBaseURL() { + return properties.getProperty(KEY_FEED_BASEURL); + } + + public File getHTMLHeaderFile() { + String str; + + str = properties.getProperty(KEY_HTML_HEADER_FILE); + + if (str == null) + return null; + + return new File(str); + } + + public static Configuration load(File f) throws IOException { + Properties props; + InputStream in; + + props = new Properties(); + in = new FileInputStream(f); + + try { + props.load(in); + } finally { + in.close(); + } + + return new Configuration(props); + } +}