001/**
002 * Copyright 2010-2014 The Kuali Foundation
003 *
004 * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php
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.kuali.common.util.spring.env;
017
018import java.io.File;
019
020public interface EnvironmentService {
021
022        boolean containsProperty(String key);
023
024        <T> T getProperty(EnvContext<T> context);
025
026        <T> T getProperty(String key, Class<T> type, T provided);
027
028        <T> T getProperty(String key, Class<T> type);
029
030        String getString(String key);
031
032        String getString(String key, String provided);
033
034        Boolean getBoolean(String key);
035
036        Boolean getBoolean(String key, Boolean provided);
037
038        File getFile(String key);
039
040        File getFile(String key, File provided);
041
042        Integer getInteger(String key);
043
044        Integer getInteger(String key, Integer provided);
045
046        <T> Class<T> getClass(String key, Class<T> type);
047
048        <T> Class<T> getClass(String key, Class<T> type, Class<T> provided);
049
050}