class UserOptionsService {

    public HashMap<UserOptions, String> getEditorOptions() {
        HashMap<UserOptions, String> configMap;
        configMap = getCommonOptions();
        configMap.put(UserOptions.DisplayButtons,
                Boolean.toString(configHolder.getState().isDisplayButtons()));
        configMap.put(UserOptions.EnterSavesApproved, Boolean
                .toString(configHolder.getState().isEnterSavesApproved()));
        configMap.put(UserOptions.EditorPageSize,
                Integer.toString(configHolder.getState().getEditorPageSize()));
        configMap.put(UserOptions.UseCodeMirrorEditor, Boolean
                .toString(configHolder.getState().isUseCodeMirrorEditor()));
        configMap.put(UserOptions.TransMemoryDisplayMode, configHolder
                .getState().getTransMemoryDisplayMode().name());
        configMap.put(UserOptions.DisplayTransMemory,
                Boolean.toString(configHolder.getState().isShowTMPanel()));
        configMap
                .put(UserOptions.DisplayGlossary, Boolean.toString(configHolder
                        .getState().isShowGlossaryPanel()));
        configMap.put(UserOptions.TranslatedMessageFilter, Boolean
                .toString(configHolder.getState().isFilterByTranslated()));
        configMap.put(UserOptions.FuzzyMessageFilter,
                Boolean.toString(configHolder.getState().isFilterByFuzzy()));
        configMap.put(UserOptions.UntranslatedMessageFilter, Boolean
                .toString(configHolder.getState().isFilterByUntranslated()));
        configMap.put(UserOptions.ApprovedMessageFilter,
                Boolean.toString(configHolder.getState().isFilterByApproved()));
        configMap.put(UserOptions.RejectedMessageFilter,
                Boolean.toString(configHolder.getState().isFilterByRejected()));
        configMap.put(UserOptions.Navigation, configHolder.getState()
                .getNavOption().toString());
        configMap.put(UserOptions.ShowSaveApprovedWarning, Boolean
                .toString(configHolder.getState().isShowSaveApprovedWarning()));
        configMap.put(UserOptions.SelectedReferenceLang, configHolder
                .getState().getSelectedReferenceForSourceLang());

        return configMap;
    }

    @Inject public  UserOptionsService(WebTransMessages messages, EventBus eventBus,
            CachingDispatchAsync dispatcher, UserConfigHolder configHolder);

}