⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parameterfactoryregistry.java

📁 JAVA编写的
💻 JAVA
字号:
/** * Copyright (c) 2009, Ben Fortuna * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *  o Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * *  o Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * *  o Neither the name of Ben Fortuna nor the names of any other contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */package net.fortuna.ical4j.vcard;import java.util.HashMap;import java.util.Locale;import java.util.Map;import net.fortuna.ical4j.vcard.Parameter.Id;import net.fortuna.ical4j.vcard.parameter.Encoding;import net.fortuna.ical4j.vcard.parameter.Language;import net.fortuna.ical4j.vcard.parameter.Pid;import net.fortuna.ical4j.vcard.parameter.Pref;import net.fortuna.ical4j.vcard.parameter.Type;import net.fortuna.ical4j.vcard.parameter.Value;/** * $Id: ParameterFactoryRegistry.java,v 1.3 2009/01/12 03:49:22 fortuna Exp $ * * Created on: 05/01/2009 * * @author Ben * */public class ParameterFactoryRegistry {    private Map<Id, ParameterFactory<? extends Parameter>> defaultFactories;        public ParameterFactoryRegistry() {        defaultFactories = new HashMap<Id, ParameterFactory<? extends Parameter>>();        defaultFactories.put(Parameter.Id.ENCODING, new ParameterFactory<Encoding>() {            @Override            public Encoding createParameter(final String value) {                if (Encoding.B.getValue().equals(value)) {                    return Encoding.B;                }                return new Encoding(value);            }        });        defaultFactories.put(Parameter.Id.LANGUAGE, new ParameterFactory<Language>() {            @Override            public Language createParameter(final String value) {                return new Language(new Locale(value));            }        });        defaultFactories.put(Parameter.Id.PID, new ParameterFactory<Pid>() {            @Override            public Pid createParameter(final String value) {                return new Pid(Integer.valueOf(value));            }        });        defaultFactories.put(Parameter.Id.TYPE, new ParameterFactory<Type>() {            @Override            public Type createParameter(final String value) {                if (Type.HOME.getValue().equals(value)) {                    return Type.HOME;                }                else if (Type.PREF.getValue().equals(value)) {                    return Type.PREF;                }                else if (Type.WORK.getValue().equals(value)) {                    return Type.WORK;                }                return new Type(value);            }        });        defaultFactories.put(Parameter.Id.VALUE, new ParameterFactory<Value>() {            @Override            public Value createParameter(final String value) {                if (Value.BINARY.getValue().equals(value)) {                    return Value.BINARY;                }                else if (Value.TEXT.getValue().equals(value)) {                    return Value.TEXT;                }                else if (Value.URI.getValue().equals(value)) {                    return Value.URI;                }                return new Value(value);            }        });        defaultFactories.put(Parameter.Id.PREF, new ParameterFactory<Pref>() {            /* (non-Javadoc)             * @see net.fortuna.ical4j.vcard.ParameterFactory#createParameter(java.lang.String)             */            @Override            public Pref createParameter(final String value) {                return Pref.PREF;            }        });    }        /**     * @param value     * @return     */    public ParameterFactory<? extends Parameter> getFactory(final String value) {        return defaultFactories.get(Id.valueOf(value));    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -