Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv4003/datatypes
Modified Files:
BasicDataType.java
Log Message:
added a few 'casting' related methods, which could be overriden in extensions
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes
Index: BasicDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/BasicDataType.java,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -b -r1.106 -r1.107
--- BasicDataType.java 8 Apr 2009 13:55:21 -0000 1.106
+++ BasicDataType.java 27 Apr 2009 12:13:44 -0000 1.107
@@ -40,7 +40,7 @@
* @author Pierre van Rooden
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: BasicDataType.java,v 1.106 2009/04/08 13:55:21 michiel Exp $
+ * @version $Id: BasicDataType.java,v 1.107 2009/04/27 12:13:44 michiel Exp $
*/
public class BasicDataType<C> extends AbstractDescriptor implements
DataType<C>, Comparable<DataType<C>>, Descriptor {
@@ -369,6 +369,13 @@
}
/**
+ * If the value must be shown, e.g. in error message, it passed through
this method.
+ * @since MMBase-1.9.1
+ */
+ protected String castToPresent(Object value, Node node, Field field) {
+ return Casting.toString(value);
+ }
+ /**
* {...@inheritdoc}
*/
public final C getDefaultValue() {
@@ -540,7 +547,7 @@
return errors;
}
- errors = requiredRestriction.validate(errors, value, node, field);
+ errors = validateRequired(errors, castValue, value, node, field);
errors = validateCastValueOrNull(errors, castValue, value, node,
field);
@@ -570,6 +577,12 @@
protected Collection<LocalizedString>
validateCastValueOrNull(Collection<LocalizedString> errors, Object castValue,
Object value, Node node, Field field) {
return errors;
}
+ /**
+ * @since MMBase-1.9.1
+ */
+ protected Collection<LocalizedString>
validateRequired(Collection<LocalizedString> errors, Object castValue, Object
value, Node node, Field field) {
+ return requiredRestriction.validate(errors, value, node, field);
+ }
protected StringBuilder toStringBuilder() {
StringBuilder buf = new StringBuilder();
@@ -1062,7 +1075,7 @@
error.replaceAll("\\$\\{NAME\\}",
ReplacingLocalizedString.makeLiteral(getName()));
error.replaceAll("\\$\\{CONSTRAINT\\}",
ReplacingLocalizedString.makeLiteral(toString(node, field)));
error.replaceAll("\\$\\{CONSTRAINTVALUE\\}",
ReplacingLocalizedString.makeLiteral(valueString(node, field)));
- error.replaceAll("\\$\\{VALUE\\}",
ReplacingLocalizedString.makeLiteral(Casting.toString(v)));
+ error.replaceAll("\\$\\{VALUE\\}",
ReplacingLocalizedString.makeLiteral(parent.castToPresent(v, node, field)));
errors.add(error);
return errors;
}
@@ -1202,7 +1215,7 @@
return Boolean.TRUE.equals(value);
}
- protected boolean simpleValid(Object v, Node node, Field field) {
+ protected boolean simpleValid(final Object v, final Node node, final
Field field) {
if (! isUnique()) {
log.debug("Not unique");
return true;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs