Author: michiel
Date: 2010-02-16 14:43:37 +0100 (Tue, 16 Feb 2010)
New Revision: 41073
Modified:
mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java
mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java
mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java
mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java
Log:
Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java
2010-02-16 13:43:37 UTC (rev 41073)
@@ -34,5 +34,13 @@
public String toString(Object o) throws NotRecognized {
throw NotRecognized.INSTANCE;
}
+ public boolean toBoolean(Object o) throws NotRecognized {
+ throw NotRecognized.INSTANCE;
+ }
+ public boolean isStringRepresentable(Class<?> type) {
+ return false;
+ }
+
+
}
\ No newline at end of file
Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java
2010-02-16 13:43:37 UTC (rev 41073)
@@ -16,8 +16,11 @@
long toLong(Object i) throws NotRecognized;
float toFloat(Object i) throws NotRecognized;
double toDouble(Object i) throws NotRecognized;
+ boolean toBoolean(Object i) throws NotRecognized;
String toString(Object o) throws NotRecognized;
+ boolean isStringRepresentable(Class<?> type);
+
public static class NotRecognized extends Exception {
static NotRecognized INSTANCE = new NotRecognized();
protected NotRecognized() {
Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java
2010-02-16 13:43:37 UTC (rev 41073)
@@ -267,12 +267,12 @@
*/
public static boolean isStringRepresentable(Class<?> type) {
return
+ helper.isStringRepresentable(type) ||
CharSequence.class.isAssignableFrom(type) ||
Number.class.isAssignableFrom(type) ||
Boolean.TYPE.isAssignableFrom(type) ||
Boolean.class.isAssignableFrom(type) ||
Character.class.isAssignableFrom(type) ||
- Node.class.isAssignableFrom(type) ||
Document.class.isAssignableFrom(type) ||
Collection.class.isAssignableFrom(type) ||
Date.class.isAssignableFrom(type) ||
@@ -750,12 +750,15 @@
static public boolean toBoolean(Object b) {
if (b == null) {
return false;
- } else if (b instanceof Boolean) {
+ }
+ try {
+ return helper.toBoolean(b);
+ } catch (Caster.NotRecognized e) {
+ }
+ if (b instanceof Boolean) {
return ((Boolean)b).booleanValue();
} else if (b instanceof Number) {
return ((Number)b).doubleValue() > 0;
- } else if (b instanceof Node) {
- return true; // return true if a NODE is filled
} else if (b instanceof Date) {
return ((Date)b).getTime() != -1;
} else if (b instanceof Document) {
@@ -1021,9 +1024,6 @@
} else if (d instanceof Collection<?>) {
// impossible
dateInSeconds = -1;
- } else if (d instanceof Node) {
- // impossible
- dateInSeconds = -1;
} else if (d != null) {
d = toString(d);
if (d.equals("")) {
Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java
2010-02-16 13:43:37 UTC (rev 41073)
@@ -13,7 +13,7 @@
import java.util.*;
import java.lang.reflect.*;
import java.text.Collator;
-//import org.mmbase.cache.Cache;
+import org.mmbase.cache.Cache;
import org.mmbase.util.logging.*;
/**
@@ -48,7 +48,6 @@
public static final HashMap<String, Object> NO_CONSTANTSPROVIDER = null;
// cache of maps.
- /* TODO
private static final Cache<String, SortedMap<?, String>> knownResources =
new Cache<String, SortedMap<?, String>>(100) {
@Override
public String getName() {
@@ -59,15 +58,12 @@
return "A cache for constant bundles, to avoid a lot of
reflection.";
}
};
- */
static {
- /*
try {
org.mmbase.cache.CacheManager.putCache(knownResources);
} catch (Throwable t) {
}
- */
}
/**
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs