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
+ */
+@Standard
+@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
-@Named("Ted")
+@Named("Teddy")
public class TeaCupPomeranian
{
public static class OversizedException extends RuntimeException