Package org.jboss.beans.metadata.spi

Examples of org.jboss.beans.metadata.spi.ValueMetaData


         for (BaseInterceptorData interceptor : interceptors)
         {
            String intName = name + "$" + i++;
            BeanMetaDataBuilder interceptorBuilder = AOPBeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
            setAspectManagerProperty(interceptorBuilder);
            ValueMetaData injectBinding = interceptorBuilder.createInject(name, null, null, ControllerState.INSTANTIATED);
            interceptorBuilder.addPropertyMetaData("binding", injectBinding);
           
            if (interceptor instanceof AdviceOrInterceptorData)
            {
               ValueMetaData injectAspect = interceptorBuilder.createInject(interceptor.getRefName());
               interceptorBuilder.addPropertyMetaData("aspect", injectAspect);
               if (((AdviceOrInterceptorData)interceptor).getAdviceMethod() != null)
               {
                  interceptorBuilder.addPropertyMetaData("aspectMethod", ((AdviceOrInterceptorData)interceptor).getAdviceMethod());
               }
               interceptorBuilder.addPropertyMetaData("type", ((AdviceOrInterceptorData)interceptor).getType());
            }
            else
            {
               ValueMetaData injectStack = interceptorBuilder.createInject(interceptor.getRefName());
               interceptorBuilder.addPropertyMetaData("stack", injectStack);
            }
            result.add(interceptorBuilder.getBeanMetaData());
            ValueMetaData injectInterceptor = bindingBuilder.createInject(intName);
            bindingInterceptors.add(injectInterceptor);
         }        
         bindingBuilder.addPropertyMetaData("advices", bindingInterceptors);
      }
     
View Full Code Here


      setAspectManagerProperty(builder, "manager", managerBean, managerProperty);
   }

   protected void setAspectManagerProperty(BeanMetaDataBuilder builder, String propertyName, String managerBean, String managerProperty)
   {
      ValueMetaData value = builder.createInject(managerBean, managerProperty);
      builder.addPropertyMetaData(propertyName, value);
   }
View Full Code Here

            setAspectManagerProperty(interceptorBuilder);
            interceptorBuilder.addPropertyMetaData("forStack", Boolean.TRUE);
           
            if (interceptor instanceof AdviceOrInterceptorData)
            {
               ValueMetaData injectAspect = interceptorBuilder.createInject(interceptor.getRefName());
               interceptorBuilder.addPropertyMetaData("aspect", injectAspect);
               if (((AdviceOrInterceptorData)interceptor).getAdviceMethod() != null)
               {
                  interceptorBuilder.addPropertyMetaData("aspectMethod", ((AdviceOrInterceptorData)interceptor).getAdviceMethod());
               }
               interceptorBuilder.addPropertyMetaData("type", ((AdviceOrInterceptorData)interceptor).getType());
            }
            else
            {
               ValueMetaData injectStack = interceptorBuilder.createInject(interceptor.getRefName());
               interceptorBuilder.addPropertyMetaData("stack", injectStack);
            }
            result.add(interceptorBuilder.getBeanMetaData());
            ValueMetaData injectAdvice = stackBuilder.createInject(intName);
            advices.add(injectAdvice);
         }        
         stackBuilder.addPropertyMetaData("advices", advices);
      }
     
View Full Code Here

    * @param value the @Value annotation
    * @return new ValueMetaData instance
    */
   static ValueMetaData createValueMetaData(Value value)
   {
      ValueMetaData vmd = null;

      StringValue string = value.string();
      if (isAttributePresent(string.value()))
      {
         vmd = StringValueAnnotationPlugin.INSTANCE.createValueMetaData(string);
View Full Code Here

    * @param parameter the @Parameter annotation
    * @return new ValueMetaData instance
    */
   static ValueMetaData createValueMetaData(Parameter parameter)
   {
      ValueMetaData vmd = null;

      StringValue string = parameter.string();
      if (isAttributePresent(string.value()))
      {
         vmd = StringValueAnnotationPlugin.INSTANCE.createValueMetaData(string);
View Full Code Here

     
      // Include the classloader if it is a bean
      ClassLoaderMetaData classLoaderMetaData = getClassLoader();
      if (classLoaderMetaData != null)
      {
         ValueMetaData classLoader = classLoaderMetaData.getClassLoader();
         if (classLoader instanceof BeanMetaData)
         {
            // Hack, if it doesn't have a classloader use the "null" classloader
            // we don't want it to gain itself as the classloader
            BeanMetaData classLoaderBean = (BeanMetaData) classLoader;
            if (classLoaderBean.getClassLoader() == null)
               classLoaderBean.setClassLoader(new AbstractClassLoaderMetaData(new AbstractValueMetaData()));
            result.add((BeanMetaData) classLoader);
         }
      }

      List<BeanMetaDataFactory> factories = getBeanFactories();
      if (factories != null && factories.isEmpty() == false)
      {
         for (BeanMetaDataFactory factory : factories)
         {
            if (factory == null)
               throw new IllegalArgumentException("BeanMetaDataFactory cannot be null.");

            List<BeanMetaData> beans = factory.getBeans();
            if (beans != null && beans.isEmpty() == false)
            {
               for (BeanMetaData bmd : beans)
               {
                  if (bmd == null)
                     throw new IllegalArgumentException("Bean meta data cannot be null.");

                  // check annotations
                  if (annotations != null && annotations.isEmpty() == false)
                  {
                     Set<AnnotationMetaData> annotationsBMD = bmd.getAnnotations();
                     if (annotationsBMD == null)
                     {
                        annotationsBMD = new HashSet<AnnotationMetaData>();
                        bmd.setAnnotations(annotationsBMD);
                     }
                     annotationsBMD.addAll(annotations);
                  }

                  // impl specific
                  if (bmd instanceof AbstractBeanMetaData)
                  {
                     AbstractBeanMetaData bean = (AbstractBeanMetaData)bmd;
                     // set deployment defaults, if not already set per bean
                     if (bean.getCreate() == null && getCreate() != null)
                     {
                        bean.setCreate(getCreate());
                     }
                     if (bean.getStart() == null && getStart() != null)
                     {
                        bean.setStart(getStart());
                     }
                     if (bean.getStop() == null && getStop() != null)
                     {
                        bean.setStop(getStop());
                     }
                     if (bean.getDestroy() == null && getDestroy() != null)
                     {
                        bean.setDestroy(getDestroy());
                     }

                     // controller mode
                     if (bean.getMode() == null && getMode() != null)
                     {
                        bean.setMode(getMode());
                     }
                  }

                  // Use any deployment classloader if present and the bean doesn't have one
                  ClassLoaderMetaData beanClassLoader = bmd.getClassLoader();
                  if (beanClassLoader == null)
                  {
                     ClassLoaderMetaData deploymentClassLoader = getClassLoader();
                     if (deploymentClassLoader != null)
                     {
                        // If the deployment classloader is a bean, replace it with an injection
                        ValueMetaData classLoader = deploymentClassLoader.getClassLoader();
                        if (classLoader instanceof BeanMetaData)
                        {
                           classLoader = new AbstractDependencyValueMetaData(((BeanMetaData) classLoader).getName());
                           beanClassLoader = new AbstractClassLoaderMetaData(classLoader);
                        }
View Full Code Here

   protected boolean isMetaDataComplete(PropertyMetaData pmd)
   {
      if (pmd == null)
         return false;

      ValueMetaData value = pmd.getValue();
      Object underlyingValue = value.getUnderlyingValue();
      return (underlyingValue instanceof AnnotationsMatcher == false);
   }
View Full Code Here

   protected boolean isMetaDataComplete(PropertyMetaData pmd)
   {
      if (pmd == null)
         return false;

      ValueMetaData value = pmd.getValue();
      Object underlyingValue = value.getUnderlyingValue();
      return (underlyingValue instanceof AnnotationsMatcher == false);
   }
View Full Code Here

   protected PropertyMetaData getPropertyMetaData(PropertyInfo info, Annotation annotation, BeanMetaData beanMetaData)
   {
      PropertyMetaData pmd = findPropertyMetaData(info, beanMetaData);
      if (pmd != null)
      {
         ValueMetaData value = pmd.getValue();
         Object underlyingValue = value.getUnderlyingValue();
         if (underlyingValue instanceof AnnotationsMatcher == false)
            throw new IllegalArgumentException("Should not be here: " + toString());

         AnnotationsMatcher am = (AnnotationsMatcher)underlyingValue;
         am.addAnnotation(annotation);
      }
      else
      {
         ValueMetaData value = createValueMetaData(annotation, null);
         pmd = new AbstractPropertyMetaData(getName(info), value);
      }

      return pmd;
   }
View Full Code Here

   }

   @Override
   public void initialVisit(MetaDataVisitor visitor)
   {
      ValueMetaData factory = getFactory();
      if (factory != null || getFactoryClass() != null)
      {
         if (getFactoryMethod() == null)
            throw new IllegalArgumentException("Constructor needs a factoryMethod attribute when there is a factoryClass attribute or factory element.");
      }
      if (factory != null)
      {
         if (factory.getUnderlyingValue() == null)
            throw new IllegalArgumentException("Factory should have a bean attribute or nested element.");
      }

      if (parameters != null)
      {
View Full Code Here

TOP

Related Classes of org.jboss.beans.metadata.spi.ValueMetaData

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.