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 Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs