/* * Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com> * Licensed under the Apache License, Version 2.0 (the "License") * $Id: ValidationBuilder.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.site; import java.util.Collection; import com.uwyn.rife.site.exceptions.ValidationBuilderException; import com.uwyn.rife.template.Template; public interface ValidationBuilder extends Cloneable { public static final String PREFIX_ERROR = "ERROR:"; public static final String PREFIX_ERRORMESSAGE = "ERRORMESSAGE:"; public static final String PREFIX_ERRORS = "ERRORS:"; public static final String PREFIX_MARK = "MARK:"; public static final String PREFIX_MARK_ERROR = "MARK:ERROR"; public static final String ID_ERROR_WILDCARD = "ERROR:*"; public static final String ID_ERRORMESSAGE = "ERRORMESSAGE"; public static final String ID_ERRORMESSAGE_WILDCARD = "ERRORMESSAGE:*"; public static final String ID_ERRORS = "ERRORS"; public static final String ID_ERRORS_FALLBACK = "ERRORS:"; public static final String ID_ERRORS_WILDCARD = "ERRORS:*"; public static final String TAG_ERRORS = "(?=(?<=^"+PREFIX_ERRORS+")|\\G(?<!^))\\s*(\\w+)\\s*,?(?=[\\w,]+$|$)"; public static final String TAG_ERRORMESSAGE = "(?=(?<=^"+PREFIX_ERRORMESSAGE+")|\\G(?<!^))\\s*(\\w+)\\s*,?(?=[\\w,]+$|$)"; public static final String TAG_MARK = "(?:^"+PREFIX_MARK+"(?:(\\w+):)?|\\G(?<!^))\\s*(\\w+)\\s*,?(?=[\\w,]+$|$)"; public void setFallbackErrorArea(Template template, String message); public Collection<String> generateValidationErrors(Template template, Collection<ValidationError> errors, Collection<String> onlySubjectsToClear, String prefix); public Collection<String> generateErrorMarkings(Template template, Collection<ValidationError> errors, Collection<String> onlySubjectsToClear, String prefix) throws ValidationBuilderException; public void removeValidationErrors(Template template, Collection<String> subjects, String prefix); public void removeErrorMarkings(Template template, Collection<String> subjects, String prefix); public Object clone(); }