Class ClosestTypeArgumentQualifier<T>

  • Type Parameters:
    T - The type
    All Implemented Interfaces:
    Qualifier<T>

    @Internal
    public class ClosestTypeArgumentQualifier<T>
    extends TypeArgumentQualifier<T>
    A Qualifier that qualifies beans by generic type arguments and only returns the candidates that most closely match.
    Since:
    1.1.1
    • Method Detail

      • reduce

        public <BT extends BeanType<T>> java.util.stream.Stream<BT> reduce​(java.lang.Class<T> beanType,
                                                                           java.util.stream.Stream<BT> candidates)
        Specified by:
        reduce in interface Qualifier<T>
        Overrides:
        reduce in class TypeArgumentQualifier<T>
        Type Parameters:
        BT - The bean type subclass
        Parameters:
        beanType - The bean type
        candidates - The candidates
        Returns:
        The qualified candidate or null it it cannot be qualified
      • compare

        protected int compare​(java.util.List<java.lang.Class> classesToCompare)
        Parameters:
        classesToCompare - An array of classes
        Returns:
        Whether the types are compatible