Author: michiel
Date: 2009-07-07 15:20:57 +0200 (Tue, 07 Jul 2009)
New Revision: 36616

Added:
   mmbase/trunk/core/src/main/java/org/mmbase/util/LocaleLocalizedString.java
Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/util/LocalizedString.java
   mmbase/trunk/core/src/main/java/org/mmbase/util/WrappedLocalizedString.java
Log:
added 'getReadonlyLocalizedString' which helps avoiding that these things are 
repatedly wrapped

Added: 
mmbase/trunk/core/src/main/java/org/mmbase/util/LocaleLocalizedString.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/util/LocaleLocalizedString.java  
                        (rev 0)
+++ mmbase/trunk/core/src/main/java/org/mmbase/util/LocaleLocalizedString.java  
2009-07-07 13:20:57 UTC (rev 36616)
@@ -0,0 +1,52 @@
+/*
+
+This software is OSI Certified Open Source Software.
+OSI Certified is a certification mark of the Open Source Initiative.
+
+The license (Mozilla version 1.0) can be read at the MMBase site.
+See http://www.MMBase.org/license
+
+*/
+package org.mmbase.util;
+
+import java.util.*;
+import org.mmbase.util.logging.*;
+
+/**
+
+ *
+ *
+ * @author Michiel Meeuwissen
+ * @version $Id: ReplacingLocalizedString.java 34936 2009-05-04 14:41:51Z 
michiel $
+ * @since MMBase-1.9.2
+ */
+public class LocaleLocalizedString extends ReadonlyLocalizedString {
+    private static final long serialVersionUID = 0L;
+
+    private static final Logger log = 
Logging.getLoggerInstance(LocaleLocalizedString.class);
+
+
+    private Locale defaultLocale = null;
+
+    public Locale setLocale(Locale loc) {
+        Locale prev = defaultLocale;
+        defaultLocale = loc;
+        return prev;
+    }
+    /**
+     * @param s The wrapped LocalizedString.
+     */
+    public LocaleLocalizedString(LocalizedString s) {
+        super(s);
+    }
+
+
+    @Override
+    public String get(Locale locale) {
+        if (locale == null) locale = defaultLocale;
+        return super.get(locale);
+    }
+
+
+
+}

Modified: mmbase/trunk/core/src/main/java/org/mmbase/util/LocalizedString.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/util/LocalizedString.java        
2009-07-07 10:21:42 UTC (rev 36615)
+++ mmbase/trunk/core/src/main/java/org/mmbase/util/LocalizedString.java        
2009-07-07 13:20:57 UTC (rev 36616)
@@ -76,7 +76,6 @@
     }
 
     private String key;
-
     private Map<Locale, String> values = null;
     private String bundle = null;
 
@@ -461,4 +460,12 @@
         return result;
     }
 
+
+    /**
+     * @since MMBase-1.9.2
+     */
+    public ReadonlyLocalizedString getReadonlyLocalizedString() {
+        return new ReadonlyLocalizedString(this);
+    }
+
 }

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/util/WrappedLocalizedString.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/util/WrappedLocalizedString.java 
2009-07-07 10:21:42 UTC (rev 36615)
+++ mmbase/trunk/core/src/main/java/org/mmbase/util/WrappedLocalizedString.java 
2009-07-07 13:20:57 UTC (rev 36616)
@@ -19,31 +19,26 @@
  * @version $Id$
  * @since MMBase-1.9
  */
-public class WrappedLocalizedString extends LocalizedString {
+public abstract class WrappedLocalizedString extends LocalizedString {
     private static final long serialVersionUID = 0L;
     private static final Logger log = 
Logging.getLoggerInstance(WrappedLocalizedString.class);
 
     protected final LocalizedString wrapped;
-    private Locale defaultLocale = null;
 
 
     /**
      * @param s The wrapped LocalizedString.
      */
-    public WrappedLocalizedString(LocalizedString s) {
+    protected  WrappedLocalizedString(LocalizedString s) {
         super("WRAPPED");
-        if (s == null) s = new LocalizedString("NULL");
+        if (s == null) {
+            s = new LocalizedString("NULL");
+        }
         wrapped = s;
     }
 
 
-    public Locale setLocale(Locale loc) {
-        Locale prev = defaultLocale;
-        defaultLocale = loc;
-        return prev;
-    }
 
-
     @Override
     public String getKey() {
         return wrapped.getKey();
@@ -56,7 +51,6 @@
 
     @Override
     public String get(Locale locale) {
-        if (locale == null) locale = defaultLocale;
         return wrapped.get(locale);
     }
 
@@ -96,6 +90,11 @@
         return hash;
     }
 
+    @Override
+    public ReadonlyLocalizedString getReadonlyLocalizedString() {
+        return wrapped.getReadonlyLocalizedString();
+    }
 
 
+
 }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to