1 package org.naftulin.configmgr.parsers;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStreamReader;
6 import java.io.InputStream;
7
8 /***
9 * Common configuration entry parser class. Used as more of a place-holder for
10 * common functionality. The only method used so far is {@link #readStreamContentAsString(InputStream)
11 * reading the input stream}.
12 *
13 * @author Henry Naftulin
14 * @since 1.0
15 */
16 public abstract class AbstractConfigEntryParser implements ConfigEntryParser {
17
18 private static final int BUFFER_SIZE = 200;
19
20 /***
21 * Returns the content of the input stream. Reads the stream and creates a string out
22 * of it's content.
23 * @param is the open, buffered input stream
24 * @return the content of the input stream.
25 * @throws IOException if the stream could not be read.
26 */
27 protected String readStreamContentAsString(final InputStream is) throws IOException {
28 String content;
29 final StringBuffer contentBuffer = new StringBuffer(BUFFER_SIZE);
30 final BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
31 String line = reader.readLine();
32 while(line != null ) {
33 contentBuffer.append(line).append("\n");
34 line = reader.readLine();
35 }
36 content = contentBuffer.toString();
37 return content;
38 }
39 }