001    /**
002     * Copyright 2010-2012 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     */
016    package org.kuali.common.util.service;
017    
018    import java.util.List;
019    
020    import org.springframework.context.ConfigurableApplicationContext;
021    import org.springframework.core.env.PropertySource;
022    
023    public interface SpringService {
024    
025            void load(Class<?> annotatedClass);
026    
027            void load(Class<?> annotatedClass, String beanName, Object bean);
028    
029            void load(Class<?> annotatedClass, String beanName, Object bean, PropertySource<?> propertySource);
030    
031            void load(String location);
032    
033            void load(String location, String beanName, Object bean);
034    
035            void load(String location, String beanName, Object bean, PropertySource<?> propertySource);
036    
037            void load(SpringContext context);
038    
039            List<PropertySource<?>> getPropertySources(String location);
040    
041            List<PropertySource<?>> getPropertySources(ConfigurableApplicationContext context);
042    
043            ConfigurableApplicationContext getContextWithPreRegisteredBean(String beanName, Object bean);
044    
045            ConfigurableApplicationContext getContextWithPreRegisteredBeans(List<String> beanNames, List<Object> beans);
046    
047    }