[webbeans-commits] Webbeans SVN: r747 - in ri/trunk: webbeans-ri/src/main/java/org/jboss/webbeans/bean and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Dec 31 18:24:08 EST 2008


Author: dallen6
Date: 2008-12-31 18:24:08 -0500 (Wed, 31 Dec 2008)
New Revision: 747

Added:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java
Modified:
   ri/trunk/webbeans-api/src/main/java/javax/webbeans/InjectionPoint.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TeaCupPomeranian.java
Log:
Added a bean implementation for injection point metadata.

Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/InjectionPoint.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/InjectionPoint.java	2008-12-30 21:22:32 UTC (rev 746)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/InjectionPoint.java	2008-12-31 23:24:08 UTC (rev 747)
@@ -1,3 +1,20 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, 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 javax.webbeans;
 
 import java.lang.annotation.Annotation;

Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java	2008-12-31 23:24:08 UTC (rev 747)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.webbeans.bean;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+import javax.webbeans.Dependent;
+import javax.webbeans.InjectionPoint;
+import javax.webbeans.Standard;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.introspector.jlr.AbstractAnnotatedMember;
+
+/**
+ * The container provided implementation for InjectionPoint beans
+ * 
+ * @author David Allen
+ */
+ at Standard
+ at Dependent
+public class InjectionPointBean implements InjectionPoint
+{
+   private final AbstractAnnotatedMember<?, ? extends Member> memberInjectionPoint;
+   private final Bean<?> bean;
+   private final Object beanInstance;
+   
+   /**
+    * Creates a new metadata bean for the given injection point information.
+    * @param injectedMember The member of the bean being injected
+    * @param bean The bean being injected
+    * @param beanInstance The instance of the bean being injected
+    */
+   public InjectionPointBean(AbstractAnnotatedMember<?, ? extends Member> injectedMember, Bean<?> bean, Object beanInstance)
+   {
+      this.memberInjectionPoint = injectedMember;
+      this.bean = bean;
+      this.beanInstance = beanInstance;
+   }
+
+   @Override
+   public <T extends Annotation> T getAnnotation(Class<T> annotationType)
+   {
+      return this.memberInjectionPoint.getAnnotation(annotationType);
+   }
+
+   @Override
+   public Annotation[] getAnnotations()
+   {
+      return this.memberInjectionPoint.getAnnotations().toArray(new Annotation[0]);
+   }
+
+   @Override
+   public Bean<?> getBean()
+   {
+      return this.bean;
+   }
+
+   @Override
+   public Set<Annotation> getBindingTypes()
+   {
+      return this.memberInjectionPoint.getBindingTypes();
+   }
+
+   @Override
+   public Object getInstance()
+   {
+      return this.beanInstance;
+   }
+
+   @Override
+   public Member getMember()
+   {
+      return this.memberInjectionPoint.getDelegate();
+   }
+
+   @Override
+   public Type getType()
+   {
+      return this.memberInjectionPoint.getType();
+   }
+
+   @Override
+   public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+   {
+      return this.memberInjectionPoint.isAnnotationPresent(annotationType);
+   }
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java	2008-12-30 21:22:32 UTC (rev 746)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java	2008-12-31 23:24:08 UTC (rev 747)
@@ -526,6 +526,6 @@
       }
    }
 
-   protected abstract S getDelegate();
+   public abstract S getDelegate();
 
 }
\ No newline at end of file

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java	2008-12-30 21:22:32 UTC (rev 746)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java	2008-12-31 23:24:08 UTC (rev 747)
@@ -200,7 +200,7 @@
       return buffer.toString();
    }
 
-   protected Class<T> getDelegate()
+   public Class<T> getDelegate()
    {
       return clazz;
    }

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TeaCupPomeranian.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TeaCupPomeranian.java	2008-12-30 21:22:32 UTC (rev 746)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TeaCupPomeranian.java	2008-12-31 23:24:08 UTC (rev 747)
@@ -6,7 +6,7 @@
 import org.jboss.webbeans.test.annotations.Tame;
 
 @Tame
- at Named("Ted")
+ at Named("Teddy")
 public class TeaCupPomeranian
 {
    public static class OversizedException extends RuntimeException




More information about the weld-commits mailing list