|
From: <de...@us...> - 2012-10-05 20:23:54
|
Revision: 7719
http://fudaa.svn.sourceforge.net/fudaa/?rev=7719&view=rev
Author: deniger
Date: 2012-10-05 20:23:48 +0000 (Fri, 05 Oct 2012)
Log Message:
-----------
support fichier externe
Modified Paths:
--------------
trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/ColorToStringTransformer.java
trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/FontToStringTransformer.java
Added Paths:
-----------
trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/PropertyToStringCacheDecorator.java
Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/ColorToStringTransformer.java
===================================================================
--- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/ColorToStringTransformer.java 2012-10-05 20:18:11 UTC (rev 7718)
+++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/ColorToStringTransformer.java 2012-10-05 20:23:48 UTC (rev 7719)
@@ -16,25 +16,11 @@
*/
public class ColorToStringTransformer extends AbstractPropertyToStringTransformer<Color> {
- Map<String, Color> cache;
-
public ColorToStringTransformer() {
}
- public ColorToStringTransformer(boolean useCache) {
- if (useCache) {
- cache = new HashMap<String, Color>();
- }
- }
-
@Override
public Color fromStringSafe(String in) {
- if (cache != null) {
- Color cached = cache.get(in);
- if (cached != null) {
- return cached;
- }
- }
String[] split = FuLib.split(in, ',');
if (split.length != 3) {
return null;
@@ -45,9 +31,6 @@
int b = Integer.parseInt(split[2]);
final Color color = new Color(r, g, b);
- if (cache != null) {
- cache.put(in, color);
- }
return color;
} catch (Exception exception) {
Logger.getLogger(ColorToStringTransformer.class.getName()).log(Level.INFO, "message {0}", exception);
Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/FontToStringTransformer.java
===================================================================
--- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/FontToStringTransformer.java 2012-10-05 20:18:11 UTC (rev 7718)
+++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/FontToStringTransformer.java 2012-10-05 20:23:48 UTC (rev 7719)
@@ -16,25 +16,11 @@
*/
public class FontToStringTransformer extends AbstractPropertyToStringTransformer<Font> {
- Map<String, Font> cache;
-
public FontToStringTransformer() {
}
- public FontToStringTransformer(boolean useCache) {
- if (useCache) {
- cache = new HashMap<String, Font>();
- }
- }
-
@Override
public Font fromStringSafe(String in) {
- if (cache != null) {
- Font cached = cache.get(in);
- if (cached != null) {
- return cached;
- }
- }
String[] split = FuLib.split(in, ',');
if (split.length != 3) {
return null;
@@ -44,9 +30,6 @@
int type = Integer.parseInt(split[1]);
int size = Integer.parseInt(split[2]);
final Font font = new Font(family, type, size);
- if (cache != null) {
- cache.put(in, font);
- }
return font;
} catch (Exception exception) {
Logger.getLogger(FontToStringTransformer.class.getName()).log(Level.INFO, "message {0}", exception);
Added: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/PropertyToStringCacheDecorator.java
===================================================================
--- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/PropertyToStringCacheDecorator.java (rev 0)
+++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/converter/PropertyToStringCacheDecorator.java 2012-10-05 20:23:48 UTC (rev 7719)
@@ -0,0 +1,42 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ctulu.converter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class PropertyToStringCacheDecorator<T> extends AbstractPropertyToStringTransformer<T> {
+
+ private final AbstractPropertyToStringTransformer<T> decorated;
+ Map<String, T> cache = new HashMap<String, T>();
+
+ public PropertyToStringCacheDecorator(AbstractPropertyToStringTransformer<T> decorated) {
+ this.decorated = decorated;
+ }
+
+ @Override
+ public String toStringSafe(T in) {
+ return decorated.toStringSafe(in);
+ }
+
+ @Override
+ public boolean isValidSafe(String in) {
+ return fromString(in) != null;
+ }
+
+ @Override
+ public T fromStringSafe(String in) {
+ T value = cache.get(in);
+ if (value != null) {
+ return value;
+ }
+ value = decorated.fromStringSafe(in);
+ cache.put(in, value);
+ return value;
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|