Author: gavin.king(a)jboss.com
Date: 2008-12-07 20:02:40 -0500 (Sun, 07 Dec 2008)
New Revision: 463
Added:
ri/trunk/webbeans-api/src/main/java/javax/webbeans/Instance.java
ri/trunk/webbeans-api/src/main/java/javax/webbeans/Obtainable.java
Log:
@Obtainable Instance
Added: ri/trunk/webbeans-api/src/main/java/javax/webbeans/Instance.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/Instance.java
(rev 0)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/Instance.java 2008-12-08 01:02:40
UTC (rev 463)
@@ -0,0 +1,34 @@
+/*
+* 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;
+
+/**
+ * An interface for looking up web beans of a particular type.
+ *
+ * @author Gavin King
+ *
+ * @param <T>
+* the type of the event object
+ */
+
+public interface Instance<T>
+{
+ public T get(Annotation... bindings);
+}
Added: ri/trunk/webbeans-api/src/main/java/javax/webbeans/Obtainable.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/Obtainable.java
(rev 0)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/Obtainable.java 2008-12-08 01:02:40
UTC (rev 463)
@@ -0,0 +1,41 @@
+/*
+* 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 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;
+
+/**
+ * Annotates a variable to be injected with an Instance object.
+ *
+ * @author Gavin King
+ */
+
+@BindingType
+@Retention(RUNTIME)
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+public @interface Obtainable
+{
+}