1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.itracker.model.util;
20
21 import org.apache.log4j.Logger;
22
23 import java.io.IOException;
24 import java.io.InputStream;
25 import java.util.Properties;
26
27 public class PropertiesFileHandler {
28 private Properties props;
29 private final Logger logger;
30
31 public PropertiesFileHandler() {
32 this.logger = Logger.getLogger(getClass());
33 props = new Properties();
34 }
35
36 public PropertiesFileHandler(String resource) {
37 this();
38 addProperties(resource);
39 }
40
41 public void addProperties(String resource) {
42 if (resource == null || resource.equals("") || !resource.endsWith(".properties")) {
43 if (logger.isInfoEnabled()) {
44 logger.info("addProperties: skip " + resource);
45 }
46 return;
47 }
48
49 try {
50 InputStream is = getClass().getResourceAsStream(resource);
51 if (is != null) {
52 props.load(is);
53 } else {
54 logger.debug("No properties resource, " + resource + " was found.");
55 }
56 } catch (IOException ioe) {
57 logger.warn("Could not load properties resource: " + resource, ioe);
58 }
59 }
60
61 public Properties getProperties() {
62 return (Properties) props.clone();
63 }
64
65 public String getProperty(String name) {
66 return props.getProperty(name);
67 }
68
69 public boolean hasProperty(String name) {
70 return props.containsKey(name);
71 }
72
73 public boolean hasProperties() {
74 return (props.size() > 0 ? true : false);
75 }
76 }