001    package org.kuali.common.util.spring;
002    
003    import java.util.List;
004    import java.util.Properties;
005    
006    import org.kuali.common.util.PropertyUtils;
007    import org.kuali.common.util.property.processor.PropertyProcessor;
008    import org.springframework.beans.factory.FactoryBean;
009    
010    public class PropertyProcessorFactoryBean implements FactoryBean<Properties> {
011    
012            Properties properties;
013            List<PropertyProcessor> processors;
014    
015            @Override
016            public Properties getObject() throws Exception {
017                    PropertyUtils.process(properties, processors);
018                    return properties;
019            }
020    
021            @Override
022            public Class<Properties> getObjectType() {
023                    return Properties.class;
024            }
025    
026            @Override
027            public boolean isSingleton() {
028                    return false;
029            }
030    
031            public Properties getProperties() {
032                    return properties;
033            }
034    
035            public void setProperties(Properties properties) {
036                    this.properties = properties;
037            }
038    
039            public List<PropertyProcessor> getProcessors() {
040                    return processors;
041            }
042    
043            public void setProcessors(List<PropertyProcessor> processors) {
044                    this.processors = processors;
045            }
046    
047    }