Class Utils


  • public class Utils
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static void appendStackTrace​(ICodeWriter code, java.lang.Throwable throwable)  
      static <T> java.lang.String arrayToStr​(T[] arr)  
      static void checkThreadInterrupt()  
      static java.lang.String cleanObjectName​(java.lang.String obj)  
      static <T,​R>
      java.util.List<R>
      collectionMap​(java.util.Collection<T> list, java.util.function.Function<T,​R> mapFunc)  
      static <T,​R>
      java.util.List<R>
      collectionMapNoNull​(java.util.Collection<T> list, java.util.function.Function<T,​R> mapFunc)  
      static java.lang.String concatStrings​(java.util.List<java.lang.String> list)  
      static <T> boolean containsInListByRef​(java.util.List<T> list, T element)  
      static java.lang.String currentStackTrace()  
      static java.lang.String currentStackTrace​(int skipFrames)  
      static java.lang.String cutObject​(java.lang.String obj)  
      static <T> T first​(java.lang.Iterable<T> list)  
      static <T> T first​(java.util.List<T> list)  
      static boolean getEnvVarBool​(java.lang.String varName, boolean defValue)
      Deprecated.
      env vars shouldn't be used in core modules.
      static int getEnvVarInt​(java.lang.String varName, int defValue)
      Deprecated.
      env vars shouldn't be used in core modules.
      static java.lang.String getFullStackTrace​(java.lang.Throwable throwable)  
      static <T> T getOne​(@Nullable java.util.Collection<T> collection)  
      static <T> T getOne​(@Nullable java.util.List<T> list)  
      static <T> T getOrElse​(T obj, T defaultObj)  
      static java.lang.String getStackTrace​(java.lang.Throwable throwable)  
      static <K,​V>
      java.util.Map<K,​V>
      groupBy​(java.util.List<V> list, java.util.function.Function<V,​K> mapKey)
      Build map from list of values with value to key mapping function
      Similar to:
      list.stream().collect(Collectors.toMap(mapKey, Function.identity()));
      static <T> int indexInListByRef​(java.util.List<T> list, T element)  
      static <T> boolean isEmpty​(java.util.Collection<T> col)  
      static <K,​V>
      boolean
      isEmpty​(java.util.Map<K,​V> map)  
      static <T> boolean isEmpty​(T[] arr)  
      static <T> boolean isSetContainsAny​(java.util.Set<T> inputSet, java.util.Set<T> searchKeys)  
      static <T> T last​(java.lang.Iterable<T> list)  
      static <T> T last​(java.util.List<T> list)  
      static <T> java.util.List<T> listTail​(java.util.List<T> list, int startIndex)
      Sub list from startIndex (inclusive) to list end
      static java.lang.String listToString​(java.lang.Iterable<?> objects)  
      static java.lang.String listToString​(java.lang.Iterable<?> objects, java.lang.String joiner)  
      static <T> java.lang.String listToString​(java.lang.Iterable<T> objects, java.lang.String joiner, java.util.function.Function<T,​java.lang.String> toStr)  
      static <T> java.lang.String listToString​(java.lang.Iterable<T> objects, java.util.function.Function<T,​java.lang.String> toStr)  
      static <T> void listToString​(java.lang.StringBuilder sb, java.lang.Iterable<T> objects, java.lang.String joiner)  
      static <T> void listToString​(java.lang.StringBuilder sb, java.lang.Iterable<T> objects, java.lang.String joiner, java.util.function.Function<T,​java.lang.String> toStr)  
      static <T> java.util.List<T> lockList​(java.util.List<T> list)  
      static java.lang.String makeQualifiedObjectName​(java.lang.String obj)  
      static <T> java.util.List<T> mergeLists​(java.util.List<T> first, java.util.List<T> second)  
      static <K,​V>
      java.util.Map<K,​V>
      mergeMaps​(java.util.Map<K,​V> first, java.util.Map<K,​V> second)
      Merge two maps.
      static <T> java.util.Set<T> mergeSets​(java.util.Set<T> first, java.util.Set<T> second)  
      static <T> void multiRootTreeDfsVisit​(java.util.List<T> roots, java.util.function.Function<T,​java.util.List<T>> childrenProvider, java.util.function.Consumer<T> visitor)  
      static java.util.Map<java.lang.String,​java.lang.String> newConstStringMap​(java.lang.String... parameters)  
      static <T> boolean notEmpty​(java.util.Collection<T> col)  
      static <T> boolean notEmpty​(T[] arr)  
      static java.util.concurrent.ThreadFactory simpleThreadFactory​(java.lang.String name)  
      static java.lang.String strRepeat​(java.lang.String str, int count)  
      static <T> void treeDfsVisit​(T root, java.util.function.Function<T,​java.util.List<T>> childrenProvider, java.util.function.Consumer<T> visitor)
      Simple DFS visit for tree (cycles not allowed)
      • Methods inherited from class java.lang.Object

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

      • cleanObjectName

        public static java.lang.String cleanObjectName​(java.lang.String obj)
      • cutObject

        public static java.lang.String cutObject​(java.lang.String obj)
      • makeQualifiedObjectName

        public static java.lang.String makeQualifiedObjectName​(java.lang.String obj)
      • strRepeat

        public static java.lang.String strRepeat​(java.lang.String str,
                                                 int count)
      • listToString

        public static java.lang.String listToString​(java.lang.Iterable<?> objects)
      • listToString

        public static java.lang.String listToString​(java.lang.Iterable<?> objects,
                                                    java.lang.String joiner)
      • listToString

        public static <T> java.lang.String listToString​(java.lang.Iterable<T> objects,
                                                        java.util.function.Function<T,​java.lang.String> toStr)
      • listToString

        public static <T> java.lang.String listToString​(java.lang.Iterable<T> objects,
                                                        java.lang.String joiner,
                                                        java.util.function.Function<T,​java.lang.String> toStr)
      • listToString

        public static <T> void listToString​(java.lang.StringBuilder sb,
                                            java.lang.Iterable<T> objects,
                                            java.lang.String joiner)
      • listToString

        public static <T> void listToString​(java.lang.StringBuilder sb,
                                            java.lang.Iterable<T> objects,
                                            java.lang.String joiner,
                                            java.util.function.Function<T,​java.lang.String> toStr)
      • arrayToStr

        public static <T> java.lang.String arrayToStr​(T[] arr)
      • concatStrings

        public static java.lang.String concatStrings​(java.util.List<java.lang.String> list)
      • currentStackTrace

        public static java.lang.String currentStackTrace()
      • currentStackTrace

        public static java.lang.String currentStackTrace​(int skipFrames)
      • getFullStackTrace

        public static java.lang.String getFullStackTrace​(java.lang.Throwable throwable)
      • getStackTrace

        public static java.lang.String getStackTrace​(java.lang.Throwable throwable)
      • appendStackTrace

        public static void appendStackTrace​(ICodeWriter code,
                                            java.lang.Throwable throwable)
      • collectionMap

        public static <T,​R> java.util.List<R> collectionMap​(java.util.Collection<T> list,
                                                                  java.util.function.Function<T,​R> mapFunc)
      • collectionMapNoNull

        public static <T,​R> java.util.List<R> collectionMapNoNull​(java.util.Collection<T> list,
                                                                        java.util.function.Function<T,​R> mapFunc)
      • containsInListByRef

        public static <T> boolean containsInListByRef​(java.util.List<T> list,
                                                      T element)
      • indexInListByRef

        public static <T> int indexInListByRef​(java.util.List<T> list,
                                               T element)
      • lockList

        public static <T> java.util.List<T> lockList​(java.util.List<T> list)
      • listTail

        public static <T> java.util.List<T> listTail​(java.util.List<T> list,
                                                     int startIndex)
        Sub list from startIndex (inclusive) to list end
      • mergeLists

        public static <T> java.util.List<T> mergeLists​(java.util.List<T> first,
                                                       java.util.List<T> second)
      • mergeSets

        public static <T> java.util.Set<T> mergeSets​(java.util.Set<T> first,
                                                     java.util.Set<T> second)
      • newConstStringMap

        public static java.util.Map<java.lang.String,​java.lang.String> newConstStringMap​(java.lang.String... parameters)
      • mergeMaps

        public static <K,​V> java.util.Map<K,​V> mergeMaps​(java.util.Map<K,​V> first,
                                                                     java.util.Map<K,​V> second)
        Merge two maps. Return HashMap as result. Second map will override values from first map.
      • groupBy

        public static <K,​V> java.util.Map<K,​V> groupBy​(java.util.List<V> list,
                                                                   java.util.function.Function<V,​K> mapKey)
        Build map from list of values with value to key mapping function
        Similar to:
        list.stream().collect(Collectors.toMap(mapKey, Function.identity()));
      • treeDfsVisit

        public static <T> void treeDfsVisit​(T root,
                                            java.util.function.Function<T,​java.util.List<T>> childrenProvider,
                                            java.util.function.Consumer<T> visitor)
        Simple DFS visit for tree (cycles not allowed)
      • multiRootTreeDfsVisit

        public static <T> void multiRootTreeDfsVisit​(java.util.List<T> roots,
                                                     java.util.function.Function<T,​java.util.List<T>> childrenProvider,
                                                     java.util.function.Consumer<T> visitor)
      • getOne

        @Nullable
        public static <T> T getOne​(@Nullable
                                   @Nullable java.util.List<T> list)
      • getOne

        @Nullable
        public static <T> T getOne​(@Nullable
                                   @Nullable java.util.Collection<T> collection)
      • isSetContainsAny

        public static <T> boolean isSetContainsAny​(java.util.Set<T> inputSet,
                                                   java.util.Set<T> searchKeys)
      • first

        @Nullable
        public static <T> T first​(java.util.List<T> list)
      • first

        @Nullable
        public static <T> T first​(java.lang.Iterable<T> list)
      • last

        @Nullable
        public static <T> T last​(java.util.List<T> list)
      • last

        @Nullable
        public static <T> T last​(java.lang.Iterable<T> list)
      • getOrElse

        public static <T> T getOrElse​(@Nullable
                                      T obj,
                                      T defaultObj)
      • isEmpty

        public static <T> boolean isEmpty​(java.util.Collection<T> col)
      • notEmpty

        public static <T> boolean notEmpty​(java.util.Collection<T> col)
      • isEmpty

        public static <K,​V> boolean isEmpty​(java.util.Map<K,​V> map)
      • isEmpty

        public static <T> boolean isEmpty​(T[] arr)
      • notEmpty

        public static <T> boolean notEmpty​(T[] arr)
      • checkThreadInterrupt

        public static void checkThreadInterrupt()
      • simpleThreadFactory

        public static java.util.concurrent.ThreadFactory simpleThreadFactory​(java.lang.String name)
      • getEnvVarBool

        @Deprecated
        public static boolean getEnvVarBool​(java.lang.String varName,
                                            boolean defValue)
        Deprecated.
        env vars shouldn't be used in core modules. Prefer to parse in `app` (use JadxCommonEnv from 'app-commons') and set in jadx args.
      • getEnvVarInt

        @Deprecated
        public static int getEnvVarInt​(java.lang.String varName,
                                       int defValue)
        Deprecated.
        env vars shouldn't be used in core modules. Prefer to parse in `app` (use JadxCommonEnv from 'app-commons') and set in jadx args.