KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've added a human-readable configuration file to my app using java.util.Properties and am trying to add a wrapper around it to make type conversions easier. Specifically, I want the returned value to "inherit" it's type from the provided default value. Here's what I've got so far: protected <T> T getProperty(String key, T fallback) { String value = properties.getProperty(key); if (value == null) { return fallback; } else { return new T(value); } } (Full example source.) The return value from getProperty("foo", true) would then be a boolean regardless of whether it was read from the properties file and similarly for strings, integers, doubles, &c. Of course, the above snippet doesn't actually compile: PropertiesExample.java:35: unexpected type found : type parameter T required: class return new T(value); ^ 1 error Am I doing this wrong, or am I simply trying to do something which can't be done? Edit: Usage example: // I'm trying to simplify this... protected void func1() { foobar = new Integer(properties.getProperty("foobar", "210")); foobaz = new Boolean(properties.getProperty("foobaz", "true")); } // ...into this... protected void func2() { foobar = getProperty("foobar", 210); foobaz = getProperty("foobaz", true); }
Tags (comma-separated)
Save Edits
Cancel