How to localize enum values in GWT client code?

前端 未结 3 1486
孤街浪徒
孤街浪徒 2021-02-18 19:01

I am using an enumeration class in my GWT client\'s code to define a set of types.

public enum MyType {

    FIRST_TYPE(\"first\"), SECOND_TYPE(\"second\"), THIR         


        
3条回答
  •  深忆病人
    2021-02-18 19:46

    I would like to add to @thommyslaw answer that in some cases you may need to pass Enums thru the wire. I mean make them serializable. In such cases putting GWT.create() inside the Enum will not work. Here is where some kind of Singleton Glossary class will be handy, like:

    public class LEGlossary {
    
    private static LEGlossary instance=null;
    private static final LocalizationEnum localConstants=GWT.create(LocalizationEnum.class);
    
    private LEGlossary(){
    
    }
    
    public static LEGlossary instance(){
        if(instance==null){
            instance=new LEGlossary();
        }
        return instance;
    }
    
    public String localizedValue(Enum value){
        return localConstants.getString(value.name());
    }
    
    
    }
    

    Where LocalizationEnum in my case extends ConstantsWithLookup interface. In this way you isolate the localization code on the client and leave the Enum free to pass thru the wire.

提交回复
热议问题