TAMAYA-113: Added default getters: fixed implementations of Config.

Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/4fa9154a
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/4fa9154a
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/4fa9154a

Branch: refs/heads/master
Commit: 4fa9154a054e09cd9388df6d42ac0e0bcc092854
Parents: 25d1b3e
Author: anatole <anat...@apache.org>
Authored: Thu Oct 1 19:39:35 2015 +0200
Committer: Oliver B. Fischer <ple...@apache.org>
Committed: Tue Sep 27 00:18:31 2016 +0200

----------------------------------------------------------------------
 .../tamaya/events/FrozenConfiguration.java      | 27 ++++++++++++++++++++
 .../apache/tamaya/events/TestConfigView.java    | 27 ++++++++++++++++++++
 2 files changed, 54 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/4fa9154a/src/main/java/org/apache/tamaya/events/FrozenConfiguration.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tamaya/events/FrozenConfiguration.java 
b/src/main/java/org/apache/tamaya/events/FrozenConfiguration.java
index 7afac7a..14c9b30 100644
--- a/src/main/java/org/apache/tamaya/events/FrozenConfiguration.java
+++ b/src/main/java/org/apache/tamaya/events/FrozenConfiguration.java
@@ -76,6 +76,24 @@ public final class FrozenConfiguration implements 
Configuration, Serializable {
     }
 
     @Override
+    public String getOrDefault(String key, String defaultValue) {
+        String val = get(key);
+        if(val==null){
+            return defaultValue;
+        }
+        return val;
+    }
+
+    @Override
+    public <T> T getOrDefault(String key, Class<T> type, T defaultValue) {
+        T val = get(key, type);
+        if(val==null){
+            return defaultValue;
+        }
+        return val;
+    }
+
+    @Override
     public <T> T get(String key, Class<T> type) {
         return (T) get(key, TypeLiteral.of(type));
     }
@@ -116,6 +134,15 @@ public final class FrozenConfiguration implements 
Configuration, Serializable {
     }
 
     @Override
+    public <T> T getOrDefault(String key, TypeLiteral<T> type, T defaultValue) 
{
+        T val = get(key, type);
+        if(val==null){
+            return defaultValue;
+        }
+        return val;
+    }
+
+    @Override
     public Map<String, String> getProperties() {
         return properties;
     }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/4fa9154a/src/test/java/org/apache/tamaya/events/TestConfigView.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/tamaya/events/TestConfigView.java 
b/src/test/java/org/apache/tamaya/events/TestConfigView.java
index 6ee5397..379f660 100644
--- a/src/test/java/org/apache/tamaya/events/TestConfigView.java
+++ b/src/test/java/org/apache/tamaya/events/TestConfigView.java
@@ -78,6 +78,24 @@ public class TestConfigView implements ConfigOperator{
             }
 
             @Override
+            public String getOrDefault(String key, String defaultValue) {
+                String val = get(key);
+                if(val==null){
+                    return defaultValue;
+                }
+                return val;
+            }
+
+            @Override
+            public <T> T getOrDefault(String key, Class<T> type, T 
defaultValue) {
+                T val = get(key, type);
+                if(val==null){
+                    return defaultValue;
+                }
+                return val;
+            }
+
+            @Override
             public <T> T get(String key, Class<T> type) {
                 return (T) get(key, TypeLiteral.of(type));
             }
@@ -115,6 +133,15 @@ public class TestConfigView implements ConfigOperator{
                 }
                 return null;
             }
+
+            @Override
+            public <T> T getOrDefault(String key, TypeLiteral<T> type, T 
defaultValue) {
+                T val = get(key, type);
+                if(val==null){
+                    return defaultValue;
+                }
+                return val;
+            }
         };
     }
 }

Reply via email to