package com.github.rmannibucau.cdi.configuration.factory;
import com.github.rmannibucau.cdi.configuration.model.ConfigBean;
import org.apache.deltaspike.core.util.metadata.builder.ContextualLifecycle;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
public class ContextualFactory<T> implements ContextualLifecycle<T> {
private final ObjectFactory<T> delegate;
public ContextualFactory(final ConfigBean bean) {
this.delegate = new ObjectFactory<T>(bean);
}
@Override
public T create(final Bean<T> bean, final CreationalContext<T> creationalContext) {
return delegate.create();
}
@Override
public void destroy(final Bean<T> bean, final T instance, final CreationalContext<T> creationalContext) {
delegate.destroy(instance);
}
}