Interface Instance<T>

  • Type Parameters:
    T - bean required type
    All Superinterfaces:
    java.lang.Iterable<T>, javax.inject.Provider<T>
    All Known Implementing Classes:
    CDI

    public interface Instance<T>
    extends java.lang.Iterable<T>, javax.inject.Provider<T>
    The Instance interface provides a method for obtaining instances of beans with required types and qualifiers.
    Version:
    $Rev$ $Date$
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void destroy​(T instance)
      Destroy the given Contextual Instance.
      boolean isAmbiguous()
      Returns true if resolution is ambigious, false otherwise.
      boolean isUnsatisfied()
      Return true if resulotion is unsatisfied, false otherwise.
      Instance<T> select​(java.lang.annotation.Annotation... qualifiers)
      Creates new Instance with given qualifiers.
      <U extends T>
      Instance<U>
      select​(java.lang.Class<U> subtype, java.lang.annotation.Annotation... qualifiers)
      Returns new child instance with given class and qualifiers.
      <U extends T>
      Instance<U>
      select​(TypeLiteral<U> subtype, java.lang.annotation.Annotation... qualifiers)
      Return new child instance with given class info and qualifiers.
      • Methods inherited from interface java.lang.Iterable

        forEach, iterator, spliterator
      • Methods inherited from interface javax.inject.Provider

        get
    • Method Detail

      • select

        Instance<T> select​(java.lang.annotation.Annotation... qualifiers)
        Creates new Instance with given qualifiers.
        Parameters:
        qualifiers -
        Returns:
        new child instance with given qualifiers.
      • select

        <U extends TInstance<U> select​(java.lang.Class<U> subtype,
                                         java.lang.annotation.Annotation... qualifiers)
        Returns new child instance with given class and qualifiers.
        Type Parameters:
        U - subtype info
        Parameters:
        subtype - subtype class
        qualifiers - qualifiers
        Returns:
        new child instance with given class and qualifiers
      • select

        <U extends TInstance<U> select​(TypeLiteral<U> subtype,
                                         java.lang.annotation.Annotation... qualifiers)
        Return new child instance with given class info and qualifiers.
        Type Parameters:
        U - subtype info
        Parameters:
        subtype - subtype class
        qualifiers - qualifiers
        Returns:
        new child instance with given class info and qualifiers
      • isUnsatisfied

        boolean isUnsatisfied()
        Return true if resulotion is unsatisfied, false otherwise.
        Returns:
        true if resulotion is unsatisfied, false otherwise
      • isAmbiguous

        boolean isAmbiguous()
        Returns true if resolution is ambigious, false otherwise.
        Returns:
        true if resolution is ambigious, false otherwise.
      • destroy

        void destroy​(T instance)
        Destroy the given Contextual Instance. This is especially intended for Dependent scoped beans which might otherwise create mem leaks.
        Parameters:
        instance -