You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by st...@apache.org on 2017/05/25 16:54:22 UTC
svn commit: r1796175 - in
/geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject:
Instance.java spi/AfterTypeDiscovery.java spi/AnnotatedType.java
Author: struberg
Date: Thu May 25 16:54:22 2017
New Revision: 1796175
URL: http://svn.apache.org/viewvc?rev=1796175&view=rev
Log:
GERONIMO-6553 more cdi 2.0 fixes
Modified:
geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/Instance.java
geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AfterTypeDiscovery.java
geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AnnotatedType.java
Modified: geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/Instance.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/Instance.java?rev=1796175&r1=1796174&r2=1796175&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/Instance.java (original)
+++ geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/Instance.java Thu May 25 16:54:22 2017
@@ -19,6 +19,8 @@
package javax.enterprise.inject;
import java.lang.annotation.Annotation;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
import javax.enterprise.util.TypeLiteral;
import javax.inject.Provider;
@@ -77,6 +79,27 @@ public interface Instance<T> extends Ite
boolean isAmbiguous();
/**
+ * @return {@code true} if there is exactly one {@link javax.enterprise.inject.spi.Bean}
+ * which resolves according to the currently selected type and qualifiers.
+ * In other words: whether the Instance can serve an actual Contextual Reference.
+ *
+ * @since 2.0
+ */
+ default boolean isResolvable()
+ {
+ return !isAmbiguous() && !isUnsatisfied();
+ }
+
+ /**
+ * @return a Stream of all the beans available for the currently selected type and qualifiers,
+ * or an empty Stream if {@link #isUnsatisfied()}
+ */
+ default Stream<T> stream()
+ {
+ return StreamSupport.stream(spliterator(), false);
+ }
+
+ /**
* Destroy the given Contextual Instance.
* This is especially intended for {@link javax.enterprise.context.Dependent} scoped beans
* which might otherwise create mem leaks.
@@ -84,4 +107,5 @@ public interface Instance<T> extends Ite
*/
void destroy(T instance);
+
}
Modified: geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AfterTypeDiscovery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AfterTypeDiscovery.java?rev=1796175&r1=1796174&r2=1796175&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AfterTypeDiscovery.java (original)
+++ geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AfterTypeDiscovery.java Thu May 25 16:54:22 2017
@@ -78,10 +78,10 @@ public interface AfterTypeDiscovery
/**
* Returns a new annotated type configurator based on a new bean id and bean class.
*
+ * @param clazz to add
* @param id of the annotated type
- * @param clazz
* @param <T>
* @return
*/
- <T> AnnotatedTypeConfigurator<T> addAnnotatedType(String id, Class<T> clazz);
+ <T> AnnotatedTypeConfigurator<T> addAnnotatedType(Class<T> clazz, String id);
}
Modified: geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AnnotatedType.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AnnotatedType.java?rev=1796175&r1=1796174&r2=1796175&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AnnotatedType.java (original)
+++ geronimo/specs/trunk/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/spi/AnnotatedType.java Thu May 25 16:54:22 2017
@@ -18,7 +18,6 @@
*/
package javax.enterprise.inject.spi;
-import javax.enterprise.inject.spi.configurator.AnnotatedTypeConfigurator;
import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.LinkedHashSet;
@@ -59,12 +58,6 @@ public interface AnnotatedType<X> extend
*/
Set<AnnotatedField<? super X>> getFields();
- /**
- * Creates a configurator to configure this annotated type.
- * @return
- */
- AnnotatedTypeConfigurator<X> configureAnnotatedType();
-
@Override
default <T extends Annotation> Set<T> getAnnotations(Class<T> annotationType)
{