Classycle 1.3 reviewDownload
Classycle package contains analyzing tools for Java Class and Package Dependencies. Static cyclic dependencies of classes or packa
Classycle package contains analyzing tools for Java Class and Package Dependencies.
Static cyclic dependencies of classes or packages can be a sign of bad object-oriented design. A static dependency is a dependency between classes or packages. It can already be detected by the compiler. This has to be distinguished from dynamic dependency which is a dependency between objects. Figuring out static cyclic dependency is the main purpose of Classycle.
Classycle does not need the Java source files because it analyses the compiled class files. Since version 1.3 it also evaluates Java Generics signatures.
From the analysis of the class files directed graphs of class and package dependencies are calculated. These graphs are further analysed in order to detect cyclic dependencies. For more details, see the User Guide Chapter 2. How Classycle works.
Classycle's Analyser produces a report (in XML) which contains
the complete directed class/package graph
all strong components of the class/package graph with more than one vertex (i.e. cycles of class/package dependencies)
In addition it groups the classes/packages into layers. For each class/package the layer index is reported. For more details, see the User Guide Chapter 3. What Classycle measures. There is also an XSL transformation for rendering the XML report into an HTML page.
Based on the class graph Classycle's Dependency Checker allows to search for unwanted dependencies between two sets of classes. An unwanted dependency between the start set and the end set can be either
a direct one (a class of the start set uses a class of the end set) or
an indirect one where a path goes via intermediate classes from a class of the start set to a class of the end set.
If such dependencies are found all or only the shortest paths are reported.
In addition the Dependency Checker can check the absence of large class cycles or package cycles.
Classycle tools can be run on the command line as well as an Ant task. Command line options and Ant task attributes are explained in the first chapter of the User Guide.
What's New in This Release:
Evaluates Java Generics signatures.
Better syntax checking concerning miss-spelled keywords in dependency definition files.
Classycle 1.3 keywords