Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2010, Red Hat Inc., and individual contributors as indicated
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.jboss.as.weld.ejb;
 
 import java.util.Map;
 import java.util.Set;
 
Implementation of EjbDescriptor

Author(s):
Stuart Douglas
 
 public class EjbDescriptorImpl<T> implements EjbDescriptor<T> {
 
     private final ServiceName baseName;
     private final Set<BusinessInterfaceDescriptor<?>> localInterfaces;
     private final Set<BusinessInterfaceDescriptor<?>> remoteInterfaces;
     private final Map<Class<?>, ServiceNameviewServices;
     private final Set<MethodremoveMethods;
     private final Class<T> ejbClass;
     private final String ejbName;
 
 
     private final boolean stateless;
     private final boolean stateful;
     private final boolean singleton;
     private final boolean messageDriven;
 
     public EjbDescriptorImpl(EJBComponentDescription componentDescriptionBeanDeploymentArchiveImpl beanDeploymentArchivefinal DeploymentReflectionIndex reflectionIndex) {
         final SessionBeanComponentDescription description = componentDescription instanceof SessionBeanComponentDescription ? (SessionBeanComponentDescriptioncomponentDescription : null;
         final Set<BusinessInterfaceDescriptor<?>> localInterfaces = new HashSet<BusinessInterfaceDescriptor<?>>();
         final Set<BusinessInterfaceDescriptor<?>> remoteInterfaces = new HashSet<BusinessInterfaceDescriptor<?>>();
         final ResourceLoader loader = beanDeploymentArchive.getServices().get(ResourceLoader.class);
 
          = (Class<T>) loader.classForName(componentDescription.getEJBClassName());
 
         if (componentDescription.getViews() != null) {
             for (ViewDescription view : componentDescription.getViews()) {
 
                 if (description == null || getMethodIntf(view) == .) {
                     final String viewClassName = view.getViewClassName();
                     localInterfaces.add(new BusinessInterfaceDescriptorImpl<Object>(beanDeploymentArchiveviewClassName));
                 } else if (getMethodIntf(view) == .) {
                     remoteInterfaces.add(new BusinessInterfaceDescriptorImpl<Object>(beanDeploymentArchiveview.getViewClassName()));
                 }
             }
         }
         if(componentDescription instanceof StatefulComponentDescription) {
             Set<MethodremoveMethods = new HashSet<Method>();
             final Collection<StatefulComponentDescription.StatefulRemoveMethodmethods = ((StatefulComponentDescriptioncomponentDescription).getRemoveMethods();
             for(final StatefulComponentDescription.StatefulRemoveMethod method : methods) {
                 Class<?> c = ;
                 while (c != null && c != Object.class) {
                     ClassReflectionIndex<?> index = reflectionIndex.getClassIndex(c);
                     Method m = index.getMethod(method.getMethodIdentifier());
                     if(m != null) {
                         removeMethods.add(m);
                     }
                     c = c.getSuperclass();
                 }
             }
            this. = Collections.unmodifiableSet(removeMethods);
        } else {
             = Collections.emptySet();
        }
        this. = componentDescription.getEJBName();
        Map<Class<?>, ServiceNameviewServices = new HashMap<Class<?>, ServiceName>();
        for (ViewDescription view : componentDescription.getViews()) {
            viewServices.put(loader.classForName(view.getViewClassName()), view.getServiceName());
        }
        this. = Collections.unmodifiableMap(viewServices);
        this. = localInterfaces;
        this. = remoteInterfaces;
        this. = componentDescription.getServiceName();
        this. = componentDescription.isStateless();
        this. = componentDescription.isMessageDriven();
        this. = componentDescription.isStateful();
        this. = componentDescription.isSingleton();
    }
    private MethodIntf getMethodIntf(final ViewDescription view) {
        if (view instanceof EJBViewDescription) {
            final EJBViewDescription ejbView = (EJBViewDescriptionview;
            return ejbView.getMethodIntf();
        }
        return null;
    }
    @Override
    public Class<T> getBeanClass() {
        return ;
    }
    @Override
        return ;
    }
    @Override
        return ;
    }
    @Override
    public String getEjbName() {
        return ;
    }
    @Override
    public Collection<MethodgetRemoveMethods() {
        return ;
    }
    @Override
    public boolean isStateless() {
        return ;
    }
    @Override
    public boolean isSingleton() {
        return ;
    }
    @Override
    public boolean isStateful() {
        return ;
    }
    @Override
    public boolean isMessageDriven() {
        return ;
    }
    public ServiceName getBaseName() {
        return ;
    }
    public ServiceName getCreateServiceName() {
        return .append("CREATE");
    }
    public ServiceName getStartServiceName() {
        return .append("START");
    }
    public Map<Class<?>, ServiceNamegetViewServices() {
        return ;
    }
New to GrepCode? Check out our FAQ X