Class DefaultCxDaoStrategySelector

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected <T> void addToList​(java.util.List<T> list, T t, java.util.Comparator<? super T> comp)  
      protected <T> java.util.stream.Collector<T,​java.util.List<T>,​java.util.Optional<T>> bestStrategyCollector​(java.util.Comparator<? super T> comp)  
      protected <T> java.util.Optional<T> finalizeSelection​(java.util.List<T> results)  
      protected boolean isValid​(CxDaoStrategy strategy, java.util.Set<java.lang.String> keySet)  
      protected <T> java.util.List<T> selectBestList​(java.util.List<T> list1, java.util.List<T> list2, java.util.Comparator<? super T> comp)  
      java.util.Optional<CxDaoStrategy> selectStrategy​(java.util.Collection<? extends CxDaoStrategy> strategies, java.util.Map<java.lang.String,​java.lang.String> params)
      Basing on provided parameters will return valid strategy from collection of provided strategies.
      protected int strategyComparator​(CxDaoStrategy a, CxDaoStrategy b)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultCxDaoStrategySelector

        public DefaultCxDaoStrategySelector()
    • Method Detail

      • selectStrategy

        public java.util.Optional<CxDaoStrategy> selectStrategy​(java.util.Collection<? extends CxDaoStrategy> strategies,
                                                                java.util.Map<java.lang.String,​java.lang.String> params)
        Description copied from interface: CxDaoStrategySelector
        Basing on provided parameters will return valid strategy from collection of provided strategies.
        Specified by:
        selectStrategy in interface CxDaoStrategySelector
        Parameters:
        strategies - from which result will be selected
        params - parameters taken into consideration during selection
        Returns:
        Optional.empty if no valid strategy was found or valid strategy.
      • isValid

        protected boolean isValid​(CxDaoStrategy strategy,
                                  java.util.Set<java.lang.String> keySet)
      • bestStrategyCollector

        protected <T> java.util.stream.Collector<T,​java.util.List<T>,​java.util.Optional<T>> bestStrategyCollector​(java.util.Comparator<? super T> comp)
      • addToList

        protected <T> void addToList​(java.util.List<T> list,
                                     T t,
                                     java.util.Comparator<? super T> comp)
      • selectBestList

        protected <T> java.util.List<T> selectBestList​(java.util.List<T> list1,
                                                       java.util.List<T> list2,
                                                       java.util.Comparator<? super T> comp)
      • finalizeSelection

        protected <T> java.util.Optional<T> finalizeSelection​(java.util.List<T> results)