Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * JBoss, Home of Professional Open Source
  * Copyright 2012, Red Hat, Inc., and individual contributors
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jboss.weld.injection.producer.ejb;
Instantiator implementation that instantiates a proxy for a session bean.

Author(s):
Jozef Hartinger
public class SessionBeanProxyInstantiator<T> implements Instantiator<T> {
    private final Class<T> proxyClass;
    private final SessionBean<T> bean;
    public SessionBeanProxyInstantiator(EnhancedAnnotatedType<T> typeSessionBean<T> bean) {
        this. = bean;
        this. = new EnterpriseProxyFactory<T>(type.getJavaClass(), bean).getProxyClass();
    }
    @Override
    public T newInstance(CreationalContext<T> ctxBeanManagerImpl manager) {
        try {
            T instance = AccessController.doPrivileged(NewInstanceAction.of());
            if(!.getScope().equals(Dependent.class)) {
                ctx.push(instance);
            }
            ProxyFactory.setBeanInstance(.getBeanManager().getContextId(), instancecreateEnterpriseTargetBeanInstance(), );
            return instance;
        } catch (PrivilegedActionException e) {
            if (e.getCause() instanceof InstantiationException) {
                throw new WeldException(..proxyInstantiationFailed(this), e.getCause());
            } else if (e.getCause() instanceof IllegalAccessException) {
                throw new WeldException(..proxyInstantiationBeanAccessFailed(this), e.getCause());
            } else {
                throw new WeldException(e.getCause());
            }
        } catch (Exception e) {
            throw ..ejbNotFound(e);
        }
    }
    }
    @Override
    public boolean hasInterceptorSupport() {
        return false;
    }
    @Override
    public boolean hasDecoratorSupport() {
        return false;
    }
    public SessionBean<T> getBean() {
        return ;
    }
    @Override
    public Constructor<T> getConstructor() {
        return null// not relevant
    }
New to GrepCode? Check out our FAQ X