Package cdc.deps.java

Class DJavaAnalysis


  • public class DJavaAnalysis
    extends cdc.deps.DAnalysis
    Specialization of Dependency analysis for Java.
    At the moment analysis does not detail methods or fields. It focuses on types (class, interface and enum) and packages.
    Author:
    Damien Carbonne
    • Constructor Detail

      • DJavaAnalysis

        public DJavaAnalysis()
    • Method Detail

      • findOrCreateGroup

        public cdc.deps.DGroup findOrCreateGroup​(cdc.deps.DGroup refGroup,
                                                 File relativePath)
      • findOrCreatePackage

        public cdc.deps.DPackage findOrCreatePackage​(String name,
                                                     boolean hasClass)
      • findOrCreateItem

        public cdc.deps.DItem findOrCreateItem​(String name,
                                               cdc.deps.DGroup group)
      • fixGroupCategory

        public void fixGroupCategory()
      • addAnonymousFeature

        public final void addAnonymousFeature()
      • addNestedFeature

        public final void addNestedFeature()
      • collapseAnonymousClasses

        public final void collapseAnonymousClasses()
      • collapseHiddenTypes

        public final void collapseHiddenTypes()
      • collapseTypes

        public final void collapseTypes()
      • isStandardJavaName

        public static boolean isStandardJavaName​(String name)
      • isPackageInfo

        public static boolean isPackageInfo​(String name)
      • getParent

        public static String getParent​(String name)
      • getPackagePart

        public static String getPackagePart​(String name)
        Returns the package part of a qualified name.

        If name is "n1", returns "".
        If name is "n1/n2", returns "n1".
        If name is "n1/n2/n3", returns "n1/n2".
        If name is "n1/n2/n3/n4$n5", returns "n1/n2/n3".

        Parameters:
        name - The name.
        Returns:
        The package part of name.
      • getClassPart

        public static String getClassPart​(String name)
        Returns the class part of a qualified name.

        If name is "n1", returns "n1".
        If name is "n1/n2", returns "n2".
        If name is "n1/n2/n3", returns "n3".
        If name is "n1/n2/n3/n4$n5", returns "n4$n5".

        Parameters:
        name - The name.
        Returns:
        The class part of name.
      • getLastClass

        public static String getLastClass​(String name)
        Returns the name of the most nested class.

        If name is "n1", returns "n1".
        If name is "n1/n2", returns "n2".
        If name is "n1/n2/n3", returns "n3".
        If name is "n1/n2/n3/n4$n5", returns "n5".

        Parameters:
        name - The name.
        Returns:
        The name of the most nested class in name.
      • isAnonymousClass

        public static boolean isAnonymousClass​(String name)
        Returns true when a name is an anonymous class name.

        A class is anonymous when its local name is an integer.

        Parameters:
        name - The name.
        Returns:
        true when name is an anonymous class name.
      • isNamedClass

        public static boolean isNamedClass​(String name)
      • isNestedClass

        public static boolean isNestedClass​(String name)
        Returns true when a name is the name of an nested class.

        This is the case when the name contains CLASS_SEPARATOR.

        Parameters:
        name - The name.
        Returns:
        true when name is the name of an nested class.
      • getOwningNamedClass

        public static String getOwningNamedClass​(String name)