You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2009/06/20 16:41:06 UTC
svn commit: r786831 - in /incubator/openwebbeans/trunk/webbeans-api: ./
src/main/java/javax/enterprise/context/
src/main/java/javax/enterprise/inject/
src/main/java/javax/enterprise/inject/spi/ src/main/java/javax/inject/
Author: gerdogdu
Date: Sat Jun 20 14:41:05 2009
New Revision: 786831
URL: http://svn.apache.org/viewvc?rev=786831&view=rev
Log:
Update for last draft spec.
Removed:
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/inject/Realizes.java
Modified:
incubator/openwebbeans/trunk/webbeans-api/pom.xml
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/context/ContextException.java
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/InjectionException.java
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/ResolutionException.java
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Bean.java
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeanManager.java
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Decorator.java
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Interceptor.java
Modified: incubator/openwebbeans/trunk/webbeans-api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/pom.xml?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/pom.xml (original)
+++ incubator/openwebbeans/trunk/webbeans-api/pom.xml Sat Jun 20 14:41:05 2009
@@ -27,4 +27,12 @@
<name>Apache OpenWebBeans :: WebBeans-API</name>
<packaging>jar</packaging>
<description>JSR-299 Application Programming Interface</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-interceptor_3.0_spec</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
</project>
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/context/ContextException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/context/ContextException.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/context/ContextException.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/context/ContextException.java Sat Jun 20 14:41:05 2009
@@ -15,6 +15,8 @@
public class ContextException extends RuntimeException
{
+ private static final long serialVersionUID = 3338309667037125674L;
+
public ContextException()
{
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/InjectionException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/InjectionException.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/InjectionException.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/InjectionException.java Sat Jun 20 14:41:05 2009
@@ -20,8 +20,9 @@
*/
public class InjectionException extends RuntimeException
{
+ private static final long serialVersionUID = -1311377696674849873L;
- public InjectionException()
+ public InjectionException()
{
}
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/ResolutionException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/ResolutionException.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/ResolutionException.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/ResolutionException.java Sat Jun 20 14:41:05 2009
@@ -24,7 +24,9 @@
public class ResolutionException extends InjectionException
{
- public ResolutionException()
+ private static final long serialVersionUID = 625364090562381779L;
+
+ public ResolutionException()
{
}
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Bean.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Bean.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Bean.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Bean.java Sat Jun 20 14:41:05 2009
@@ -19,36 +19,95 @@
import javax.enterprise.context.spi.Contextual;
-public abstract class Bean<T> implements Contextual<T>
+/**
+ * Reprensts bean instances that are contextual
+ * and injectable by the container.
+ *
+ * @version $Rev$ $Date$
+ *
+ * @param <T> bean representation type
+ */
+public interface Bean<T> extends Contextual<T>
{
- private final BeanManager manager;
-
- protected Bean(BeanManager manager)
- {
- this.manager = manager;
- }
-
- protected BeanManager getManager()
- {
- return manager;
- }
-
+
+ /**
+ * Returns api types of a bean.
+ *
+ * @return api types of a bean
+ */
public abstract Set<Type> getTypes();
+ /**
+ * Returns binding types of a bean.
+ *
+ * @return binding types of a bean
+ */
public abstract Set<Annotation> getBindings();
- public abstract Class<? extends Annotation> getScopeType();
+ /**
+ * Returns bean deployment type.
+ *
+ * @return bean's deployment type.
+ */
public abstract Class<? extends Annotation> getDeploymentType();
+
+
+ /**
+ * Returns scope types of a bean.
+ *
+ * @return scope type
+ */
+ public abstract Class<? extends Annotation> getScopeType();
+ /**
+ * Returns name of a bean.
+ *
+ * @return name of a bean
+ */
public abstract String getName();
+ /**
+ * Returns true if bean is capable of
+ * serializable, false otherwise.
+ *
+ * @return true if bean is serializable
+ */
public abstract boolean isSerializable();
+ /**
+ * If bean is nullable return true, false
+ * otherwise.
+ *
+ * <p>
+ * Nullable means that if producer
+ * bean api type is primitive, its nullable property
+ * will be false.
+ * </p>
+ *
+ * @return true if bean is nullable.
+ */
public abstract boolean isNullable();
+ /**
+ * Returns all injection points of this bean.
+ *
+ * @return injection points
+ */
public abstract Set<InjectionPoint> getInjectionPoints();
+ /**
+ * Returns class of bean.
+ *
+ * @return class of bean that it represents
+ */
public abstract Class<?> getBeanClass();
+
+ /**
+ * Returns bean stereotypes.
+ *
+ * @return bean stereotypes
+ */
+ public abstract Set<Annotation> getStereotypes();
}
\ No newline at end of file
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeanManager.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeanManager.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeanManager.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeanManager.java Sat Jun 20 14:41:05 2009
@@ -133,9 +133,9 @@
* @param interceptor new interceptor
* @return the manager instance that this interceptor is added
*/
- public BeanManager addInterceptor(Interceptor interceptor);
+ public BeanManager addInterceptor(Interceptor<?> interceptor);
- public BeanManager addDecorator(Decorator decorator);
+ public BeanManager addDecorator(Decorator<?> decorator);
public <T> BeanManager addObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings);
@@ -147,9 +147,9 @@
public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings);
- public List<Interceptor> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings);
+ public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings);
- public List<Decorator> resolveDecorators(Set<Type> types, Annotation... bindingTypes);
+ public List<Decorator<?>> resolveDecorators(Set<Type> types, Annotation... bindingTypes);
public BeanManager parse(InputStream xmlStream);
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Decorator.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Decorator.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Decorator.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Decorator.java Sat Jun 20 14:41:05 2009
@@ -14,20 +14,16 @@
package javax.enterprise.inject.spi;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
import java.util.Set;
-public abstract class Decorator extends Bean<Object>
+public interface Decorator<T> extends Bean<T>
{
- protected Decorator(BeanManager manager)
- {
- super(manager);
- }
-
- public abstract Class<?> getDelegateType();
+ public abstract Set<Type> getDecoratedTypes();
+
+ public abstract Type getDelegateType();
public abstract Set<Annotation> getDelegateBindingTypes();
- public abstract void setDelegate(Object instance, Object delegate);
-
}
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Interceptor.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Interceptor.java?rev=786831&r1=786830&r2=786831&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Interceptor.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Interceptor.java Sat Jun 20 14:41:05 2009
@@ -14,20 +14,17 @@
package javax.enterprise.inject.spi;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
import java.util.Set;
+import javax.interceptor.InvocationContext;
-public abstract class Interceptor extends Bean<Object>
-{
-
- protected Interceptor(BeanManager manager)
- {
- super(manager);
- }
+public interface Interceptor<T> extends Bean<T>
+{
public abstract Set<Annotation> getInterceptorBindingTypes();
+
+ public boolean intercepts(InterceptionType type);
- public abstract Method getMethod(InterceptionType type);
+ public Object intercept(InterceptionType type, T instance, InvocationContext ctx);
}