/* * Copyright (c) 2015. Developed by Hedgecode. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.hedgecode.xml.xspf; import java.util.HashMap; import java.util.Map; /** * * * @author Dmitry Samoshin aka gotty */ public final class Properties { public static final String CHARSET = "xspf.charset"; public static final String FORMATTED = "xspf.formatted"; public static final String STANDALONE = "xspf.standalone"; private static final Map props = new HashMap() { { put(CHARSET, XSPFConstants.DEF_CHARSET); put(FORMATTED, Boolean.TRUE); put(STANDALONE, Boolean.FALSE); } }; public static void setProperty(String name, Object value) { if (props.containsKey(name)) { if (props.get(name).getClass().equals(value.getClass())) props.put(name, value); } } public static Object getProperty(String name, Class clazz) { if (clazz != null && props.containsKey(name)) { Object property = props.get(name); if (clazz.isAssignableFrom(property.getClass())) return property; } return null; } private Properties() { throw new AssertionError( "I am so paranoid!" ); } }