/**
*
*/
package org.springmodules.jsr94.factory;
import javax.rules.RuleServiceProvider;
import javax.rules.admin.RuleAdministrator;
/**
* @author janm
*/
public class RuleRuntimeFactoryBean extends AbstractInitializingFactoryBean {
/**
* The serviceProvider
*/
private RuleServiceProvider serviceProvider;
/* (non-Javadoc)
* @see org.springmodules.jsr94.AbstractInitializingFactoryBean#createInstance()
*/
protected final Object createInstance() throws Exception {
return serviceProvider.getRuleRuntime();
}
/* (non-Javadoc)
* @see org.springmodules.jsr94.AbstractInitializingFactoryBean#preInitialize()
*/
protected final void preInitialize() throws Exception {
if (serviceProvider == null) throw new IllegalArgumentException("Must set serviceProvider on " + getClass().getName());
}
/* (non-Javadoc)
* @see org.springframework.beans.factory.FactoryBean#getObjectType()
*/
public final Class getObjectType() {
return RuleAdministrator.class;
}
/**
* Sets new value for field serviceProvider
*
* @param serviceProvider The serviceProvider to set.
*/
public final void setServiceProvider(RuleServiceProvider serviceProvider) {
this.serviceProvider = serviceProvider;
}
}