Package org.jboss.metadata.ejb.spec

Examples of org.jboss.metadata.ejb.spec.NamedMethodMetaData


      Init init = finder.getAnnotation(method, Init.class);
      if(init == null)
         return null;
     
      InitMethodMetaData metaData = new InitMethodMetaData();
      NamedMethodMetaData beanMethod = new NamedMethodMetaData();
      metaData.setBeanMethod(beanMethod);
      NamedMethodMetaData createMethod = new NamedMethodMetaData();
      metaData.setCreateMethod(createMethod);
     
      String alternativeName = init.value().length() > 0 ? init.value() : method.getName();
     
      // Is the init declared on the home interface?
      if(method.getDeclaringClass().isInterface())
      {
         beanMethod.setMethodName(alternativeName);
         createMethod.setMethodName(method.getName());
      }
      else
      {
         beanMethod.setMethodName(method.getName());
         createMethod.setMethodName(alternativeName);
      }
     
      MethodParametersMetaData methodParams = ProcessorUtils.getMethodParameters(method);
      beanMethod.setMethodParams(methodParams);
      createMethod.setMethodParams(methodParams);
     
      return metaData;
   }
View Full Code Here


      Init init = finder.getAnnotation(method, Init.class);
      if(init == null)
         return null;
     
      InitMethodMetaData metaData = new InitMethodMetaData();
      NamedMethodMetaData beanMethod = new NamedMethodMetaData();
      metaData.setBeanMethod(beanMethod);
      NamedMethodMetaData createMethod = new NamedMethodMetaData();
      metaData.setCreateMethod(createMethod);
     
      String alternativeName = init.value().length() > 0 ? init.value() : method.getName();
     
      // Is the init declared on the home interface?
      if(method.getDeclaringClass().isInterface())
      {
         beanMethod.setMethodName(alternativeName);
         createMethod.setMethodName(method.getName());
      }
      else
      {
         beanMethod.setMethodName(method.getName());
         createMethod.setMethodName(alternativeName);
      }
     
      MethodParametersMetaData methodParams = ProcessorUtils.getMethodParameters(method);
      beanMethod.setMethodParams(methodParams);
      createMethod.setMethodParams(methodParams);
     
      return metaData;
   }
View Full Code Here

      Remove remove = finder.getAnnotation(method, Remove.class);
      if(remove == null)
         return null;
     
      RemoveMethodMetaData metaData = new RemoveMethodMetaData();
      NamedMethodMetaData beanMethod = new NamedMethodMetaData();
      beanMethod.setMethodName(method.getName());
      metaData.setBeanMethod(beanMethod);
      metaData.setRetainIfException(remove.retainIfException());

      MethodParametersMetaData methodParams = ProcessorUtils.getMethodParameters(method);
      beanMethod.setMethodParams(methodParams);
     
      return metaData;
   }
View Full Code Here

   // TODO: integrate with StatelessContainer.initializeTimeout
   private void initializeTimeoutMethod()
   {
      JBossSessionBeanMetaData metaData = getMetaData();
      NamedMethodMetaData timeoutMethodMetaData = null;
      if (metaData != null)
         timeoutMethodMetaData = metaData.getTimeoutMethod();
      this.timeoutMethod = getTimeoutCallback(timeoutMethodMetaData, getBeanClass());
   }
View Full Code Here

   }
  
   private void initializeTimeout()
   {
      JBossSessionBeanMetaData metaData = getMetaData();
      NamedMethodMetaData timeoutMethodMetaData = null;
      if(metaData != null)
         timeoutMethodMetaData = metaData.getTimeoutMethod();
      this.timeout = getTimeoutCallback(timeoutMethodMetaData, getBeanClass());
   }
View Full Code Here

   }
  
   private void initializeTimeout()
   {
      JBossSessionBeanMetaData metaData = getMetaData();
      NamedMethodMetaData timeoutMethodMetaData = null;
      if(metaData != null)
         timeoutMethodMetaData = metaData.getTimeoutMethod();
      this.timeout = getTimeoutCallback(timeoutMethodMetaData, getBeanClass());
   }
View Full Code Here

   // TODO: integrate with StatelessContainer.initializeTimeout
   private void initializeTimeoutMethod()
   {
      JBossSessionBeanMetaData metaData = getMetaData();
      NamedMethodMetaData timeoutMethodMetaData = null;
      if (metaData != null)
         timeoutMethodMetaData = metaData.getTimeoutMethod();
      this.timeoutMethod = getTimeoutCallback(timeoutMethodMetaData, getBeanClass());
   }
View Full Code Here

   {
      if (list != null)
      {
         for (InitMethodMetaData initMethod : list)
         {
            NamedMethodMetaData method = initMethod.getBeanMethod();
            InitImpl annotation = new InitImpl();
            addAnnotations(Init.class, annotation, container, method);
         }
      }
   }
View Full Code Here

   {
      if (list != null)
      {
         for (RemoveMethodMetaData removeMethod : list)
         {
            NamedMethodMetaData method = removeMethod.getBeanMethod();
            RemoveImpl annotation = new RemoveImpl(removeMethod.isRetainIfException());
            addAnnotations(Remove.class, annotation, container, method);
         }
      }
   }
View Full Code Here

                        }
                    } else {

                        //method level bindings
                        //first find the right method
                        final NamedMethodMetaData methodData = binding.getMethod();
                        final ClassReflectionIndex<?> classIndex = index.getClassIndex(componentClass);
                        Method resolvedMethod = null;
                        if (methodData.getMethodParams() == null) {
                            final Collection<Method> methods = classIndex.getAllMethods(methodData.getMethodName());
                            if (methods.isEmpty()) {
                                throw MESSAGES.failToFindMethodInEjbJarXml(componentClass.getName(),methodData.getMethodName());
                            } else if (methods.size() > 1) {
                                throw MESSAGES.multipleMethodReferencedInEjbJarXml(methodData.getMethodName(),componentClass.getName());
                            }
                            resolvedMethod = methods.iterator().next();
                        } else {
                            final Collection<Method> methods = classIndex.getAllMethods(methodData.getMethodName(), methodData.getMethodParams().size());
                            for (final Method method : methods) {
                                boolean match = true;
                                for (int i = 0; i < method.getParameterTypes().length; ++i) {
                                    if (!method.getParameterTypes()[i].getName().equals(methodData.getMethodParams().get(i))) {
                                        match = false;
                                        break;
                                    }
                                }
                                if (match) {
                                    resolvedMethod = method;
                                    break;
                                }
                            }
                            if (resolvedMethod == null) {
                                throw MESSAGES.failToFindMethodWithParameterTypes(componentClass.getName(), methodData.getMethodName(), methodData.getMethodParams());
                            }
                        }
                        List<InterceptorBindingMetaData> list = methodInterceptors.get(resolvedMethod);
                        if (list == null) {
                            methodInterceptors.put(resolvedMethod, list = new ArrayList<InterceptorBindingMetaData>());
View Full Code Here

TOP

Related Classes of org.jboss.metadata.ejb.spec.NamedMethodMetaData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.