001package org.gwtbootstrap3.client.ui.form.validator; 002 003/* 004 * #%L 005 * GwtBootstrap3 006 * %% 007 * Copyright (C) 2015 GwtBootstrap3 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023import java.util.MissingResourceException; 024 025import com.google.gwt.core.client.GWT; 026 027/** 028 * Default implementation of the validator message mixin. This can be replaced with your own version by using 029 * a "replace-with" statment in the gwt module file. 030 * 031 * Example: 032 * 033 * <pre> 034 * {@code 035 * <replace-with class="...CustomValidatorMessageMixin"> 036 * <when-type-is class="org.gwtbootstrap3.client.ui.form.validator.ValidatorMessageMixin" /> 037 * </replace-with> 038 * } 039 * </pre> 040 * 041 * @author Steven Jardine 042 */ 043public class DefaultValidatorMessageMixin implements ValidatorMessageMixin { 044 045 protected ValidationMessages messages = GWT.create(ValidationMessages.class); 046 047 /** {@inheritDoc} */ 048 public String lookup(String key) { 049 try { 050 // Replace "." with "_" in the key. 051 return key == null ? null : messages.getString(key.replace(".", "_")); 052 } catch (MissingResourceException e) { 053 return null; 054 } 055 } 056 057 /** {@inheritDoc} */ 058 @Override 059 public String lookup(String key, Object[] msgValues) { 060 String msg = lookup(key); 061 if (msg != null) { 062 msg = MessageFormat.format(msg, msgValues); 063 } 064 return msg; 065 } 066 067}