blob: 388d7a7cc47a2bca03fa97ca38dbcc2317c75279 [file] [log] [blame]
// $Id: MessageInterpolator.java 17620 2009-10-04 19:19:28Z hardy.ferentschik $
/*
* JBoss, Home of Professional Open Source
* Copyright 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//Changed by Google
package javax.validation;
import javax.validation.metadata.ConstraintDescriptor;
import com.google.gwt.i18n.shared.GwtLocale;
/**
* Interpolate a given constraint violation message.
* Implementations should be as tolerant as possible on syntax errors.
*<p>
* Modified to use {@link GwtLocale} instead of {@link java.util.Locale}.
*
* @author Emmanuel Bernard
* @author Hardy Ferentschik
*/
public interface MessageInterpolator {
/**
* Interpolate the message template based on the constraint validation context.
* The locale is defaulted according to the <code>MessageInterpolator</code>
* implementation. See the implementation documentation for more detail.
*
* @param messageTemplate The message to interpolate.
* @param context contextual information related to the interpolation
*
* @return Interpolated error message.
*/
String interpolate(String messageTemplate, Context context);
/**
* Interpolate the message template based on the constraint validation context.
* The <code>Locale</code> used is provided as a parameter.
*
* @param messageTemplate The message to interpolate.
* @param context contextual information related to the interpolation
* @param locale the locale targeted for the message
*
* @return Interpolated error message.
*/
String interpolate(String messageTemplate, Context context, GwtLocale locale);
/**
* Information related to the interpolation context
*/
interface Context {
/**
* @return ConstraintDescriptor corresponding to the constraint being validated
*/
ConstraintDescriptor<?> getConstraintDescriptor();
/**
* @return value being validated
*/
Object getValidatedValue();
}
}