001/* 002 * Copyright 2011 Anyware Services 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.ametys.plugins.googlecalendar; 017 018import java.util.Collections; 019import java.util.HashMap; 020import java.util.LinkedHashMap; 021import java.util.Map; 022 023import org.ametys.runtime.i18n.I18nizableText; 024import org.ametys.runtime.model.Enumerator; 025 026/** 027 * Enumeration of the display mode of the google calendar 028 * 029 */ 030public class ModeEnumerator implements Enumerator<String>, org.ametys.runtime.parameter.Enumerator 031{ 032 private static final String __CATALOGUE = "plugin.google-calendar"; 033 private static final Map<String, I18nizableText> __MODES; 034 035 static 036 { 037 __MODES = new LinkedHashMap<>(3); 038 __MODES.put("AGENDA", new I18nizableText(__CATALOGUE, "PLUGINS_GOOGLE_CALENDAR_SERVICE_CALENDAR_MODE_AGENDA")); 039 __MODES.put("MONTH", new I18nizableText(__CATALOGUE, "PLUGINS_GOOGLE_CALENDAR_SERVICE_CALENDAR_MODE_DEFAULT")); 040 __MODES.put("WEEK", new I18nizableText(__CATALOGUE, "PLUGINS_GOOGLE_CALENDAR_SERVICE_CALENDAR_MODE_WEEK")); 041 } 042 043 public Map<String, I18nizableText> getTypedEntries() throws Exception 044 { 045 return __MODES; 046 } 047 048 public I18nizableText getEntry(String value) throws Exception 049 { 050 return __MODES.get(value); 051 } 052 053 @Override 054 // TODO NEWATTRIBUTEAPI: remove this method when org.ametys.runtime.parameter.Enumerator will be removed 055 public Map<Object, I18nizableText> getEntries() throws Exception 056 { 057 Map<Object, I18nizableText> result = new HashMap<>(); 058 for (Map.Entry<String, I18nizableText> entry : getTypedEntries().entrySet()) 059 { 060 result.put(entry.getKey(), entry.getValue()); 061 } 062 return Collections.unmodifiableMap(result); 063 } 064 065 @Override 066 // TODO NEWATTRIBUTEAPI: remove this method when org.ametys.runtime.parameter.Enumerator will be removed 067 public Map<String, Object> getConfiguration() 068 { 069 return Collections.EMPTY_MAP; 070 } 071}