Subversion Repository Public Repository

litesoft

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
43
44
45
46
47
48
49
50
51
52
53
package org.litesoft.core.util.externalization;

import org.litesoft.core.typeutils.*;

/**
 * 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 = Strings.assertNotNullNotEmpty( "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 );
    }

    @Override
    public String makeFullKey( String key )
    {
        return proxied.makeFullKey( prefix + PREFIX_SEP + key );
    }
}

Commits for litesoft/trunk/Java/core/Anywhere/src/org/litesoft/core/util/externalization/OptionallyPrefixingE13nResolver.java

Diff revisions: vs.
Revision Author Commited Message
821 Diff Diff GeorgeS picture GeorgeS Sun 19 Aug, 2012 00:08:41 +0000
728 Diff Diff GeorgeS picture GeorgeS Sat 16 Jun, 2012 23:39:49 +0000
726 Diff Diff GeorgeS picture GeorgeS Thu 14 Jun, 2012 13:33:38 +0000
725 GeorgeS picture GeorgeS Mon 11 Jun, 2012 00:50:44 +0000