Class ClassRenamer

    • Constructor Detail

      • ClassRenamer

        public ClassRenamer​(Singletons.Global global)
        Singleton constructor.
        Parameters:
        global - the singletons container. Must not be null
        Throws:
        NullPointerException - when global argument is null
    • Method Detail

      • isRemovePackages

        public boolean isRemovePackages()
        Checks if transformer must remove package from fully qualified class name.
        Returns:
        true if ClassRenamer removes packages from fully qualified class name; false otherwise
      • setRemovePackages

        public void setRemovePackages​(boolean removePackages)
        Sets flag indicating that transformer must remove package from fully qualified class name.
        Parameters:
        removePackages - the flag value
      • isRenamePackages

        public boolean isRenamePackages()
        Checks if transformer must rename package in fully qualified class name.
        Returns:
        true if ClassRenamer renames packages in fully qualified class name; false otherwise
      • setRenamePackages

        public void setRenamePackages​(boolean renamePackages)
        Sets flag indicating that transformer must rename package in fully qualified class name.
        Parameters:
        renamePackages - the flag value
      • addClassNameMapping

        public void addClassNameMapping​(String classNameSource,
                                        String classNameTarget)
        Adds mapping for class name.
        Parameters:
        classNameSource - the class name to rename
        classNameTarget - the new class name
      • getClassNameMapping

        public Map<String,​String> getClassNameMapping​(BiPredicate<String,​String> predicate)
        Gets mapping by predicate.
        Parameters:
        predicate - the predicate to decide if mapping should be filtered. Can be null
      • getOrAddNewName

        public String getOrAddNewName​(String packageName,
                                      String className)
        Generates new unique name that have not existed before and mapping for it or gets already generated name if one was generated before.
        Parameters:
        packageName - the package where class is located. Can be null
        className - the class name (without package) to create mapping for. Can be null
        Returns:
        the new unique name
      • getPackageName

        public static String getPackageName​(String fullyQualifiedClassName)
        Extracts package name from class name.
        Parameters:
        fullyQualifiedClassName - the fully qualified class name. Can be null
        Returns:
        package name or null when class name is null, no '.' in the name, or package name is '.'
      • getClassName

        public static String getClassName​(String fullyQualifiedClassName)
        Extracts class name from fully qualified name.
        Parameters:
        fullyQualifiedClassName - the fully qualified class name. Can be null
        Returns:
        class name or null when class name is null, no '.' in the name