Package cdc.deps.java

Class DJavaAnalysis

java.lang.Object
cdc.deps.DAnalysis
cdc.deps.java.DJavaAnalysis

public class DJavaAnalysis extends 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
  • Field Details

  • Constructor Details

    • DJavaAnalysis

      public DJavaAnalysis()
  • Method Details

    • findOrCreateGroup

      public DGroup findOrCreateGroup(DGroup refGroup, File relativePath)
    • findOrCreatePackage

      public DPackage findOrCreatePackage(String name, boolean hasClass)
    • findOrCreateItem

      public DItem findOrCreateItem(String name, 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)