Class StreamUtils

java.lang.Object
org.qubership.atp.itf.lite.backend.utils.StreamUtils

public class StreamUtils extends Object
  • Constructor Details

    • StreamUtils

      public StreamUtils()
  • Method Details

    • extractIds

      public static <T> Set<UUID> extractIds(Collection<T> entities, Function<T,UUID> extractor)
      Extract id's from any type entities.
      Type Parameters:
      T - processed entities type
      Parameters:
      entities - input entities
      extractor - id extractor
      Returns:
      result set
    • extractIds

      public static <T extends AbstractEntity> Set<UUID> extractIds(Collection<T> entities)
      Extract id's set from any type entities.
      Type Parameters:
      T - processed entities type
      Parameters:
      entities - input entities
      Returns:
      result set
    • extractFlatIds

      public static <T> Set<UUID> extractFlatIds(Collection<T> entities, Function<T,Collection<UUID>> extractor)
      Extract flat id's from any type entities.
      Type Parameters:
      T - processed entities type
      Parameters:
      entities - input entities
      extractor - id extractor
      Returns:
      result set
    • toIdEntityMap

      public static <T> Map<UUID,T> toIdEntityMap(Iterable<T> entities, Function<T,UUID> keyExtractor)
    • toIdEntityMap

      public static <T extends AbstractNamedEntity> Map<UUID,T> toIdEntityMap(Iterable<T> entities)
    • toEntityMap

      public static <T, R> Map<R,T> toEntityMap(Iterable<T> entities, Function<T,R> keyExtractor)
    • toEntityMapWithMergeFunction

      public static <T, R> Map<R,T> toEntityMapWithMergeFunction(Iterable<T> entities, Function<T,R> keyExtractor, BinaryOperator<T> mergeFunction)
    • toMap

      public static <T, K, V> Map<K,V> toMap(Iterable<T> entities, Function<T,K> keyExtractor, Function<T,V> valueExtractor)
    • toIdNameEntityMap

      public static <T extends AbstractNamedEntity> Map<UUID,String> toIdNameEntityMap(Iterable<T> entities)
    • toEntityListMap

      public static <S, T> Map<S,List<T>> toEntityListMap(Iterable<T> entities, Function<T,S> keyExtractor)
    • toEntityList

      public static <T> List<T> toEntityList(Iterable<T> entities)
    • mapToClazz

      public static <T, R> List<R> mapToClazz(Iterable<T> entities, Class<R> clazz)
      Map entities from list to another type.
      Type Parameters:
      T - entities type
      R - convert type
      Parameters:
      entities - entities list
      clazz - convert class
      Returns:
      result list
    • mapToClazz

      public static <T, R> R mapToClazz(T entity, Class<R> clazz)
      Map entity to another type.
      Type Parameters:
      T - entities type
      R - convert type
      Parameters:
      entity - entity
      clazz - convert class
      Returns:
      result list
    • extractFields

      public static <T, R> Set<R> extractFields(Collection<T> entities, Function<T,R> extractor)
      Extract specified field from entities list.
      Type Parameters:
      T - entities type
      R - convert type
      Parameters:
      entities - entities list
      extractor - extract function
      Returns:
      result set
    • map

      public static <T, R> List<R> map(Collection<T> entities, Function<T,R> mapFunc)
      Map entities by provided map function.
      Type Parameters:
      T - input entities type
      R - output entities type
      Parameters:
      entities - input entities
      mapFunc - map function
      Returns:
      list of mapped entities
    • filterList

      public static <T extends AbstractNamedEntity> List<T> filterList(Collection<T> entities, Collection<UUID> containKeys)
      Filter list with specified keys.
      Type Parameters:
      T - entity type
      Parameters:
      entities - input entities list
      containKeys - filter entities keys
      Returns:
      result list
    • filterList

      public static <T extends AbstractNamedEntity> List<T> filterList(Collection<T> entities, Predicate<T> predicate)
      Filter list by specified condition.
      Type Parameters:
      T - entity type
      Parameters:
      entities - input entities list
      predicate - filter condition
      Returns:
      result list
    • filterList

      public static <T> List<T> filterList(Collection<T> entities, Function<T,UUID> entityKeyExtractFunc, Collection<UUID> containKeys)
      Filter list with specified keys.
      Type Parameters:
      T - entity type
      Parameters:
      entities - input entities list
      containKeys - filter entities keys
      Returns:
      result list
    • find

      public static <T extends AbstractNamedEntity> T find(Collection<T> entities, Predicate<T> predicate)
      Filter list by specified condition.
      Type Parameters:
      T - entity type
      Parameters:
      entities - input entities list
      predicate - filter condition
      Returns:
      result list
    • getEntitiesFromMap

      public static <T> List<T> getEntitiesFromMap(Set<UUID> ids, Map<UUID,T> entitiesMap)
      Get list of entities from corresponding map.
      Parameters:
      ids - entities identifiers
      entitiesMap - entities map
      Returns:
      list of entities
    • getFirstElem

      public <T> T getFirstElem(List<T> elements)
      Find and return first element in the list.
      Type Parameters:
      T - collection type
      Parameters:
      elements - list elements
      Returns:
      first element
    • distinctByKey

      public static <T> Predicate<T> distinctByKey(Function<? super T,?> keyExtractor)
      Help method to distinct by key during filtering.
      Type Parameters:
      T - type
      Parameters:
      keyExtractor - key extractor
      Returns:
      predicate