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/07/02 22:05:04 UTC
svn commit: r790728 - in
/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi:
AfterBeanDiscovery.java BeforeBeanDiscovery.java Extension.java
ObserverMethod.java
Author: gerdogdu
Date: Thu Jul 2 20:05:03 2009
New Revision: 790728
URL: http://svn.apache.org/viewvc?rev=790728&view=rev
Log:
Adding Extension service API. Adding AfterBeanDiscovery and BeforeBeanDiscovery.
Added:
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java (with props)
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/ObserverMethod.java (with props)
Modified:
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/AfterBeanDiscovery.java (contents, props changed)
incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java (contents, props changed)
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/AfterBeanDiscovery.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/AfterBeanDiscovery.java?rev=790728&r1=790727&r2=790728&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/AfterBeanDiscovery.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/AfterBeanDiscovery.java Thu Jul 2 20:05:03 2009
@@ -13,17 +13,42 @@
*/
package javax.enterprise.inject.spi;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import javax.enterprise.context.spi.Context;
-import javax.enterprise.inject.BindingType;
-
-@BindingType
-@Retention(RetentionPolicy.RUNTIME)
-@Target( { ElementType.FIELD, ElementType.PARAMETER })
-public @interface AfterBeanDiscovery
+/**
+ * Events that are fired after discovery bean process.
+ *
+ * @version $Rev$ $Date$
+ *
+ */
+public interface AfterBeanDiscovery
{
+ /**
+ * Adds definition error. Container aborts deployment after
+ * all observer methods are called.
+ *
+ * @param t throwable
+ */
+ public void addDefinitionError(Throwable t);
-}
+ /**
+ * Registering the bean with container.
+ *
+ * @param bean new bean
+ */
+ public void addBean(Bean<?> bean);
+
+ /**
+ * Registers the given observer method with container.
+ *
+ * @param observerMethod observer method
+ */
+ public void addObserverMethod(ObserverMethod<?, ?> observerMethod);
+
+ /**
+ * Adds given context to the container.
+ *
+ * @param context new context
+ */
+ public void addContext(Context context);
+}
\ No newline at end of file
Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/AfterBeanDiscovery.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java?rev=790728&r1=790727&r2=790728&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java (original)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java Thu Jul 2 20:05:03 2009
@@ -13,19 +13,55 @@
*/
package javax.enterprise.inject.spi;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Annotation;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.enterprise.inject.BindingType;
-
-@BindingType
-@Retention(RUNTIME)
-@Target( { FIELD, PARAMETER })
-public @interface BeforeBeanDiscovery
+/**
+ * Container fires this event before discovery
+ * of the beans process.
+ *
+ * @version $Rev$ $Date$
+ *
+ */
+public interface BeforeBeanDiscovery
{
+ /**
+ * Declares a new binding type.
+ *
+ * @param bindingType binding type
+ */
+ public void addBindingType(Class<? extends Annotation> bindingType);
+
+ /**
+ * Declares a new scope type.
+ *
+ * @param scopeType scope type
+ * @param normal is normal or not
+ * @param passivating passivated or not
+ */
+ public void addScopeType(Class<? extends Annotation> scopeType, boolean normal, boolean passivating);
+
+ /**
+ * Declares a new stereotype.
+ *
+ * @param stereotype stereotype class
+ * @param stereotypeDef meta annotations
+ */
+ public void addStereotype(Class<? extends Annotation> stereotype, Annotation... stereotypeDef);
+
+ /**
+ * Declares a new binding type.
+ *
+ * @param bindingType binding type class
+ * @param bindingTypeDef meta annotations
+ */
+ public void addInterceptorBindingType(Class<? extends Annotation> bindingType, Annotation... bindingTypeDef);
+
+ /**
+ * Adds new annotated type.
+ *
+ * @param type annotated type
+ */
+ public void addAnnotatedType(AnnotatedType<?> type);
+
-}
+}
\ No newline at end of file
Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java?rev=790728&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java Thu Jul 2 20:05:03 2009
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to You 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.enterprise.inject.spi;
+
+/**
+ * Marker interface that is implemented by the classes
+ * that listen for the container events.
+ *
+ * @version $Rev$ $Date$
+ *
+ */
+public interface Extension
+{
+
+}
Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/Extension.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/ObserverMethod.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/ObserverMethod.java?rev=790728&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/ObserverMethod.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/ObserverMethod.java Thu Jul 2 20:05:03 2009
@@ -0,0 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to You 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.enterprise.inject.spi;
+
+public class ObserverMethod<T,K>
+{
+
+}
Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/enterprise/inject/spi/ObserverMethod.java
------------------------------------------------------------------------------
svn:eol-style = native