package org.jboss.weld.environment.osgi; import java.util.HashSet; import java.util.Set; import org.jboss.weld.environment.osgi.integration.Weld; import org.osgi.cdi.api.integration.CDIContainer; import org.osgi.cdi.api.integration.CDIContainerFactory; import org.osgi.framework.Bundle; /** * * @author Mathieu ANCELIN - SERLI (mathieu.ancelin@serli.com) */ public class WeldCDIContainerFactory implements CDIContainerFactory { private final Set<String> blackList; public WeldCDIContainerFactory() { blackList = new HashSet<String>(); blackList.add("java.io.Serializable"); blackList.add("org.jboss.interceptor.proxy.LifecycleMixin"); blackList.add("org.jboss.interceptor.util.proxy.TargetInstanceProxy"); blackList.add("javassist.util.proxy.ProxyObject"); } @Override public CDIContainer container(Bundle bundle) { return new WeldCDIContainer(bundle); } @Override public Class<? extends CDIContainerFactory> delegateClass() { return WeldCDIContainerFactory.class; } @Override public String getID() { return Weld.class.getName(); } @Override public Set<String> getContractBlacklist() { return blackList; } }