litesoft
@ 948
litesoft / trunk / GWT_Sandbox / FormEngine / src / org / litesoft / core / util / externalization / OptionallyPrefixingE13nResolver.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package org.litesoft.core.util.externalization; import com.temp.shared.utils.*; /** * Implementation of a E13nResolver that Optionally Prefixes some text onto each * key as part of the lookup of the underlying template. * * @author georgs */ public class OptionallyPrefixingE13nResolver implements E13nResolver, HelperE13nResolver.NonCompleting { private final String prefix; private final HelperE13nResolver.NonCompleting proxied; public OptionallyPrefixingE13nResolver( String prefix, E13nResolver proxied ) { this.prefix = Assert.noEmpty( "prefix", prefix ); this.proxied = HelperE13nResolver.validateProxy( proxied ); } @Override public String resolve( E13nData data ) { return HelperE13nResolver.resolveDataWith( data, this ); } @Override public String resolve( Enum<?> key ) { return HelperE13nResolver.resolveEnumWith( key, this ); } @Override public String resolve( String key ) { return HelperE13nResolver.resolveStringWith( key, this ); } @Override public String resolveWithoutCompleting( String key ) { String value = proxied.resolveWithoutCompleting( prefix + PREFIX_SEP + key ); return (value != null) ? value : proxied.resolveWithoutCompleting( key ); } } |