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 2008/11/22 18:59:43 UTC

svn commit: r719888 [2/2] - in /incubator/openwebbeans/trunk/webbeans-api: ./ src/ src/main/ src/main/java/ src/main/java/META-INF/ src/main/java/javax/ src/main/java/javax/webbeans/ src/main/java/javax/webbeans/manager/ src/main/resources/ src/test/ s...

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentFieldException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentFieldException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentFieldException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentFieldException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,44 @@
+/*
+ *  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.webbeans;
+
+public class NonexistentFieldException extends DefinitionException
+{
+	private static final long serialVersionUID = 4578359618905508012L;
+
+	public NonexistentFieldException()
+	{
+		super();
+	}
+	
+	public NonexistentFieldException(String message)
+	{
+		super(message);
+	}
+	
+	public NonexistentFieldException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public NonexistentFieldException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+	
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentFieldException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMemberException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMemberException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMemberException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMemberException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,44 @@
+/*
+ *  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.webbeans;
+
+public class NonexistentMemberException extends DefinitionException
+{
+	private static final long serialVersionUID = -7507805351707018006L;
+
+	public NonexistentMemberException()
+	{
+		super();
+	}
+	
+	public NonexistentMemberException(String message)
+	{
+		super(message);
+	}
+	
+	public NonexistentMemberException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public NonexistentMemberException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+	
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMemberException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMethodException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMethodException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMethodException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMethodException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,44 @@
+/*
+ *  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.webbeans;
+
+public class NonexistentMethodException extends DefinitionException
+{
+	private static final long serialVersionUID = -1280732375706132123L;
+
+	public NonexistentMethodException()
+	{
+		super();
+	}
+	
+	public NonexistentMethodException(String message)
+	{
+		super(message);
+	}
+	
+	public NonexistentMethodException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public NonexistentMethodException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+	
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentMethodException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentTypeException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentTypeException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentTypeException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentTypeException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,44 @@
+/*
+ *  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.webbeans;
+
+public class NonexistentTypeException extends DefinitionException
+{
+	private static final long serialVersionUID = 2340492433053441783L;
+
+	public NonexistentTypeException()
+	{
+		super();
+	}
+	
+	public NonexistentTypeException(String message)
+	{
+		super(message);
+	}
+	
+	public NonexistentTypeException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public NonexistentTypeException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+	
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NonexistentTypeException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NullableDependencyException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NullableDependencyException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NullableDependencyException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NullableDependencyException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,43 @@
+/*
+ *  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.webbeans;
+
+public class NullableDependencyException extends DeploymentException
+{
+	private static final long serialVersionUID = -2226577224929251465L;
+
+	public NullableDependencyException()
+	{
+		super();
+	}
+	
+	public NullableDependencyException(String message)
+	{
+		super(message);
+	}
+	
+	public NullableDependencyException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public NullableDependencyException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/NullableDependencyException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,36 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@BindingType
+@Retention(RUNTIME)
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+public @interface Observable
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observer.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observer.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observer.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observer.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,6 @@
+package javax.webbeans;
+
+public interface Observer<T>
+{
+   public void notify(T event);
+}
\ No newline at end of file

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ObserverException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ObserverException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ObserverException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ObserverException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,44 @@
+/*
+ *  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.webbeans;
+
+public class ObserverException extends ExecutionException
+{
+	private static final long serialVersionUID = -6392759733390664652L;
+
+
+	public ObserverException()
+	{
+      
+	}
+
+   public ObserverException(String message)
+   {
+      super(message);
+   }
+
+   public ObserverException(Throwable cause)
+   {
+      super(cause);
+   }
+
+   public ObserverException(String message, Throwable cause)
+   {
+      super(message, cause);
+   }
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ObserverException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observes.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observes.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observes.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observes.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,38 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Defines the intention of the method as an observer.
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@Target(PARAMETER)
+@Retention(RUNTIME)
+@Documented
+public @interface Observes
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Observes.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Produces.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Produces.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Produces.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Produces.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,38 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Defines the method as a producer method web beans component.
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@Target(METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface Produces
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Produces.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Production.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Production.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Production.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Production.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,34 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+public @interface Production
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Production.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,40 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Request wide defined scope annotation.
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@ScopeType
+public @interface RequestScoped
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ScopeType.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ScopeType.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ScopeType.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ScopeType.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,41 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Used for creating the new scope types.
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@Target(ANNOTATION_TYPE)
+@Retention(RUNTIME)
+@Documented
+public @interface ScopeType {
+	
+	boolean normal() default true;
+
+	boolean passivating() default false;
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/ScopeType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,40 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Session wide defined scope annotation.
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@ScopeType
+public @interface SessionScoped
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,33 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+
+@Target(TYPE)
+@Retention(RUNTIME)
+@Documented
+public @interface Specializes
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Standard.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Standard.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Standard.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Standard.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,40 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Standart web beans component type.
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+public @interface Standard
+{
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Standard.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Stereotype.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Stereotype.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Stereotype.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Stereotype.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,38 @@
+/*
+ *  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.webbeans;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Annotation;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+
+@Retention(RUNTIME)
+@Target(ANNOTATION_TYPE)
+@Documented
+public @interface Stereotype
+{
+
+   public Class<? extends Annotation>[] supportedScopes() default {};
+   
+   public Class<?>[] requiredTypes() default {};
+   
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/Stereotype.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/TypeLiteral.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/TypeLiteral.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/TypeLiteral.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/TypeLiteral.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,113 @@
+/*
+ *  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.webbeans;
+
+import java.lang.reflect.GenericArrayType;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.List;
+
+/**
+ * *********************************************************************************************
+ * This class and its method signatures is taken from the unpublished Web Beans
+ * API related code from the <a
+ * href="http://anonsvn.jboss.org/repos/webbeans/">Web Beans RI svn</a>
+ * ********************************************************************************************
+ */
+public abstract class TypeLiteral<T>
+{
+
+	private Type actualType;
+
+	protected TypeLiteral()
+	{
+		Class<?> typeLiteralSubclass = getTypeLiteralSubclass(this.getClass());
+		if (typeLiteralSubclass == null)
+		{
+			throw new RuntimeException(getClass() + " is not a subclass of TypeLiteral");
+		}
+		actualType = getTypeParameter(typeLiteralSubclass);
+		if (actualType == null)
+		{
+			throw new RuntimeException(getClass() + " is missing type parameter in TypeLiteral");
+		}
+	}
+
+	public final Type getType()
+	{
+		return actualType;
+	}
+
+	@SuppressWarnings("unchecked")
+	public final Class<T> getRawType()
+	{
+		Type type = getType();
+		if (type instanceof Class)
+		{
+			return (Class<T>) type;
+		} else if (type instanceof ParameterizedType)
+		{
+			return (Class<T>) ((ParameterizedType) type).getRawType();
+		} else if (type instanceof GenericArrayType)
+		{
+			return (Class<T>) Object[].class;
+		} else
+		{
+			throw new RuntimeException("Illegal type");
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private static Class<?> getTypeLiteralSubclass(Class<?> clazz)
+	{
+		Class<?> superclass = clazz.getSuperclass();
+		if (superclass.equals(TypeLiteral.class))
+		{
+			return clazz;
+		} else if (superclass.equals(Object.class))
+		{
+			return null;
+		} else
+		{
+			return (getTypeLiteralSubclass(superclass));
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private static Type getTypeParameter(Class<?> superclass)
+	{
+		Type type = superclass.getGenericSuperclass();
+		if (type instanceof ParameterizedType)
+		{
+			ParameterizedType parameterizedType = (ParameterizedType) type;
+			if (parameterizedType.getActualTypeArguments().length == 1)
+			{
+				return parameterizedType.getActualTypeArguments()[0];
+			}
+		}
+		return null;
+	}
+	
+	public static void main(String[] args)
+	{
+		TypeLiteral<List<String>> s = new TypeLiteral<List<String>>(){};
+		System.out.println(s.getRawType()); //List
+		System.out.println(s.getType()); //List<String>
+	}
+
+	// TODO: equals(), hashCode()
+}
\ No newline at end of file

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/TypeLiteral.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnproxyableDependencyException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnproxyableDependencyException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnproxyableDependencyException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnproxyableDependencyException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,43 @@
+/*
+ *  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.webbeans;
+
+public class UnproxyableDependencyException extends DeploymentException
+{
+	private static final long serialVersionUID = 7022231794856380239L;
+
+	public UnproxyableDependencyException()
+	{
+		super();
+	}
+	
+	public UnproxyableDependencyException(String message)
+	{
+		super(message);
+	}
+	
+	public UnproxyableDependencyException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public UnproxyableDependencyException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnproxyableDependencyException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnremovedException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnremovedException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnremovedException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnremovedException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,44 @@
+/*
+ *  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.webbeans;
+
+public class UnremovedException extends ExecutionException
+{
+	private static final long serialVersionUID = 7580542333959184652L;
+
+	public UnremovedException()
+	{
+		super();
+	}
+	
+	public UnremovedException(String message)
+	{
+		super(message);
+	}
+	
+	public UnremovedException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public UnremovedException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+	
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnremovedException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnsatisfiedDependencyException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnsatisfiedDependencyException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnsatisfiedDependencyException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnsatisfiedDependencyException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,43 @@
+/*
+ *  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.webbeans;
+
+public class UnsatisfiedDependencyException extends DeploymentException
+{
+	private static final long serialVersionUID = 8476513814387375212L;
+
+	public UnsatisfiedDependencyException()
+	{
+		super();
+	}
+	
+	public UnsatisfiedDependencyException(String message)
+	{
+		super(message);
+	}
+	
+	public UnsatisfiedDependencyException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public UnsatisfiedDependencyException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnsatisfiedDependencyException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnserializableDependencyException.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnserializableDependencyException.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnserializableDependencyException.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnserializableDependencyException.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,43 @@
+/*
+ *  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.webbeans;
+
+public class UnserializableDependencyException extends DeploymentException
+{
+	private static final long serialVersionUID = 8071003021459701684L;
+
+	public UnserializableDependencyException()
+	{
+		super();
+	}
+	
+	public UnserializableDependencyException(String message)
+	{
+		super(message);
+	}
+	
+	public UnserializableDependencyException(Throwable e)
+	{
+		super(e);
+	}
+	
+	public UnserializableDependencyException(String message, Throwable e)
+	{
+		super(message, e);
+	}
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/UnserializableDependencyException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Bean.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Bean.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Bean.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Bean.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,120 @@
+/*
+ *  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.webbeans.manager;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+
+/**
+* Web Beans component contract.
+* 
+* @author gurkanerdogdu
+* @since 1.0
+*/
+@SuppressWarnings("unchecked")
+public abstract class Bean<T>
+{
+	/**Manager instance*/
+    private final Manager manager;
+
+    /**
+     * Constructs new web bean.
+     * 
+     * @param manager manager instance
+     */
+	protected Bean(Manager manager)
+	{
+		this.manager = manager;
+	}
+
+	/**
+	 * Gets manager.
+	 * 
+	 * @return the manager
+	 */
+	protected Manager getManager()
+	{
+		return manager;
+	}	
+	
+   /**
+	 * Gets the set of api types of the web beans component.
+	 * 
+	 * @return the set of api types
+	 */
+   public abstract Set<Class<?>> getTypes();
+   
+   /**
+    * Gets the set of binding types of the web beans component.
+    * 
+    * @return the binding types
+    */
+   public abstract Set<Annotation> getBindingTypes();
+   
+   /**
+    * Gets the scope type of the web beans component.
+    * 
+    * @return scope type
+    */
+   public abstract Class<? extends Annotation> getScopeType();
+   
+   /**
+    * Gets the deployment type of the web beans component.
+    * 
+    * @return deployment type
+    */
+   public abstract Class<? extends Annotation> getDeploymentType();
+   
+   /**
+    * Gets the name of the web beans component.
+    * 
+    * @return name of the component
+    */
+   public abstract String getName();
+   
+   /**
+    * Creates the new web beans component instance.
+    * 
+    * @param container web beans container
+    * @return the new web beans component instance
+    */
+   public abstract T create();
+   
+   /**
+    * Destoy the precreated web beans component instance.
+    * 
+    * @param container web beans container
+    * @param instance web beans component instance
+    */
+   public abstract void destroy(T instance);
+   
+   /**
+    * True if serializable.
+    * 
+    * @return true if serializable
+    */
+   public abstract boolean isSerializable();
+
+   /**
+    * True if nullable.
+    * 
+    * @return true if nullable
+    */
+   public abstract boolean isNullable();
+
+}
\ No newline at end of file

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Bean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Context.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Context.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Context.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Context.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,65 @@
+/*
+ *  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.webbeans.manager;
+
+import java.lang.annotation.Annotation;
+
+/**
+
+* @author gurkanerdogdu
+* @since 1.0
+*/
+public interface Context
+{
+   /**
+    * Gets the context scope type.
+    * 
+    * @return context scope type
+    */
+   public Class<? extends Annotation> getScopeType();
+   
+   /**
+    * Gets the given web beans component instance from the context.
+    * <p>
+	* If the create argument is true and the instance is not contained
+	* in the context, new instance is created and returned.
+	* </p>
+	* 
+    * @param <T> generic type
+    * @param container web beans container
+    * @param component web beans component
+    * @param create creat or not flag
+    * @return the web beans component instance
+    */
+   public <T> T get(Bean<T> component, boolean create);
+   
+   /**
+	* Removes the given web beans component from the context.
+	* 
+	* @param <T> generic type
+	* @param component web beans component
+	*/   
+   @Deprecated
+   public <T> void remove(Manager container, Bean<T> component);
+   
+   /**
+    * True if context is active
+    * 
+    * @return true if context is active
+    */
+   boolean isActive();
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Context.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Decorator.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Decorator.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Decorator.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Decorator.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,41 @@
+/*
+ *  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.webbeans.manager;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+/**
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ *
+ */
+public abstract class Decorator extends Bean<Object>
+{
+
+   protected Decorator(Manager manager)
+   {
+      super(manager);
+   }
+
+   public abstract Class<?> getDelegateType();
+
+   public abstract Set<Annotation> getDelegateBindingTypes();
+
+   public abstract void setDelegate(Object instance, Object delegate);
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Decorator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/EnterpriseBeanLookup.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/EnterpriseBeanLookup.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/EnterpriseBeanLookup.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/EnterpriseBeanLookup.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,29 @@
+/*
+ *  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.webbeans.manager;
+
+/**
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ *
+ */
+public interface EnterpriseBeanLookup
+{
+   
+   public Object lookup(String ejbName);
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/EnterpriseBeanLookup.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Initialized.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Initialized.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Initialized.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Initialized.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,34 @@
+/*
+ *  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.webbeans.manager;
+
+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.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.BindingType;
+
+@BindingType
+@Retention(RUNTIME)
+@Target( { FIELD, PARAMETER })
+public @interface Initialized
+{
+	
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Initialized.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/InterceptionType.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/InterceptionType.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/InterceptionType.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/InterceptionType.java Sat Nov 22 09:59:41 2008
@@ -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.webbeans.manager;
+
+public enum InterceptionType
+{
+   AROUND_INVOKE, 
+   POST_CONSTRUCT, 
+   PRE_DESTROY, 
+   PRE_PASSIVATE, 
+   POST_ACTIVATE
+}
\ No newline at end of file

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/InterceptionType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Interceptor.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Interceptor.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Interceptor.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Interceptor.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,35 @@
+/*
+ *  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.webbeans.manager;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.Set;
+
+public abstract class Interceptor extends Bean<Object>
+{
+
+   protected Interceptor(Manager manager)
+   {
+      super(manager);
+   }
+
+   public abstract Set<Annotation> getInterceptorBindingTypes();
+
+   public abstract Method getMethod(InterceptionType type);
+
+}

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Interceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java?rev=719888&view=auto
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java (added)
+++ incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java Sat Nov 22 09:59:41 2008
@@ -0,0 +1,122 @@
+/*
+ *  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.webbeans.manager;
+
+import java.io.Serializable;
+import java.lang.annotation.Annotation;
+import java.util.List;
+import java.util.Set;
+
+import javax.webbeans.NonBinding;
+import javax.webbeans.Observer;
+import javax.webbeans.TypeLiteral;
+
+
+/**
+ * Resolution of the components contract of the <b>Web Beans Container</b>.
+ * There are two ways with regarding to the resolving components in the web
+ * beans container, resolution by type and resolution by name.
+ * 
+ * <p>
+ * When resolving at the injection point, the web beans container uses the api
+ * type and binding type of the injected instance of the web bean component.
+ * Each web beans component has to be enabled for being candidate in regarding
+ * to resolution. Web Beans Container applies the following resolution procedure
+ * in order;
+ * </p>
+ * 
+ * <p>
+ * <ul>
+ * <li> Inspect the type of the injected point to find all web beans component
+ * that has this API type. </li>
+ * <li> From the candidates, it selects the all components that satisfies the
+ * binding types of the injected point. If the injected point annotation has
+ * some member values, then it selects the web beans components with binding
+ * type (with {@link NonBinding} annotated member) that has same member values
+ * with the injected annoation value. </li>
+ * <li> If there are some components that has exactly the same binding type with
+ * the injected point, container narrows the component set containing just those
+ * components. </li>
+ * <li> Examine the precedence type of the narrowed set of components and
+ * selects the higher precedence of the components. Otherwise exception is
+ * thrown by the container. </li>
+ * </ul>
+ * </p>
+ * 
+ * <p>
+ * Resolution by name procedure is as follows;
+ * </p>
+ * 
+ * <p>
+ * <ul>
+ * <li>Container selects the set of enabled web beans components that has the
+ * given name</li>
+ * <li>Container selects the higher precedence from the set using the component
+ * type precedence</li>
+ * <li>If exactly one component is remained, the resolution results in that
+ * component, otherwise</li>
+ * exceptin is thrown by the container.
+ * </ul>
+ * </p>
+ * 
+ * @author <a href="mailto:gurkanerdogdu@yahoo.com">Gurkan Erdogdu</a>
+ * @since 1.0
+ */
+@SuppressWarnings("unchecked")
+public interface Manager
+{
+	public <T> Set<Bean<T>> resolveByType(Class<T> type, Annotation... bindings);
+
+	public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType, Annotation... bindingTypes);
+
+	public <T> T getInstanceByType(Class<T> type, Annotation... bindingTypes);
+
+	public <T> T getInstanceByType(TypeLiteral<T> type, Annotation... bindingTypes);
+
+	public Set<Bean<?>> resolveByName(String name);
+
+	public Object getInstanceByName(String name);
+
+	public <T> T getInstance(Bean<T> bean);
+
+	public void fireEvent(Object event, Annotation... bindings);
+
+	public Context getContext(Class<? extends Annotation> scopeType);
+
+	public Manager addContext(Context context);
+
+	public Manager addBean(Bean<?> bean);
+
+	public Manager addInterceptor(Interceptor interceptor);
+
+	public Manager addDecorator(Decorator decorator);
+
+	public <T> Manager addObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings);
+
+	public <T> Manager addObserver(Observer<T> observer, TypeLiteral<T> eventType, Annotation... bindings);
+
+	public <T> Manager removeObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings);
+
+	public <T> Manager removeObserver(Observer<T> observer, TypeLiteral<T> eventType, Annotation... bindings);
+
+	public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings);
+
+	public List<Interceptor> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings);
+
+	public List<Decorator> resolveDecorators(Set<Class<?>> types, Annotation... bindingTypes);
+
+}
\ No newline at end of file

Propchange: incubator/openwebbeans/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java
------------------------------------------------------------------------------
    svn:eol-style = native