public class DependencyAnalyzer extends MonitoredDependencyAnalyzer
Constructor and Description |
---|
DependencyAnalyzer(IAnalyzableElement elementToAnalyze)
Initialize the new instance with an element to analyze.
|
DependencyAnalyzer(IAnalyzableElement elementToAnalyze,
IProgressMonitor monitor)
Initialize the new instance with an element to analyze and a progress monitor
|
Modifier and Type | Method and Description |
---|---|
protected void |
addToNodeRegistry(DependencyClassNode node) |
DependencyAnalyzer |
analyze()
Starts analyzing and returns this analyzer.
|
protected java.util.Collection<DependencyClassNode> |
analyzeContainedClasses(ClassInformation[] containedClasses) |
ContainerDependencyInfo |
calculateClassDependencies(ClassContainer aContainer)
Calculates all classes the classes inside the given container depend on.
|
ClassDependencyInfo |
calculateClassDependencies(ClassInformation classInfo)
Calculates all classes (direct and transitive) the given class depends on.
|
PackageDependencyInfo |
calculateClassDependencies(ClassPackage aPackage)
Calculates all classes the classes inside the given package depend on.
|
protected void |
calculateClassDependencies(DependencyClassNode currentNode)
Detects all classes the given class node depends on recursively
until no more additional dependencies are found.
|
protected CollectionUtil |
coll() |
protected DependencyClassNode |
findClassNode(ClassInformation classInfo) |
protected DependencyClassNode |
findOrRegister(ClassInformation classInfo) |
protected boolean |
followClass(java.lang.String className)
Returns true if this analyzer should also analyze the class with the given name.
|
protected java.util.List<DependencyClassNode> |
getAllFoundClassNodes()
Returns a list with all class nodes found so far.
|
protected ClassInformationFilter |
getClassInfoIgnoreFilter() |
protected java.util.Map<ClassInformation,DependencyClassNode> |
getNodeRegistry() |
int |
getNumberOfElementsToAnalyze()
Returns the number of elements this analyzer is processing.
|
DependencyInfo |
getResult()
Returns an object that provides all collected data about dependencies during
the last execution of
analyze() . |
protected DependencyClassNode[] |
getSortedArrayOfReferredClassNodes()
Returns a sorted array of all class nodes that have been found
during the dependency analyzing so far.
|
protected boolean |
mustIgnore(ClassInformation classInfo)
Returns true if the given class must be ignored for any reason.
|
protected int |
numberOfFoundClassNodes()
Returns how many class nodes have been found so far.
|
protected void |
resetNodeRegistry() |
protected void |
setClassInfoIgnoreFilter(ClassInformationFilter filter) |
protected void |
setResult(DependencyInfo newValue) |
protected DependencyClassNode[] |
toNodeArray(java.util.Collection<DependencyClassNode> coll) |
getAnalyzedElement, getProgressMonitor, getWorkset, isCancelled, resetProcessingCounter, setAnalyzedElement, setIsCancelled, setProgressMonitor, showProgress
public DependencyAnalyzer(IAnalyzableElement elementToAnalyze)
public DependencyAnalyzer(IAnalyzableElement elementToAnalyze, IProgressMonitor monitor)
public DependencyInfo getResult()
analyze()
.public DependencyAnalyzer analyze()
After this method finished the getResult()
method can be used
to get the complete result of the analysis.
analyze
in class MonitoredDependencyAnalyzer
public int getNumberOfElementsToAnalyze()
getNumberOfElementsToAnalyze
in class MonitoredDependencyAnalyzer
public ClassDependencyInfo calculateClassDependencies(ClassInformation classInfo)
This method resets the dependency analyzer's internal class node registry to be empty, before starting to calculate the dependencies.
classInfo
- The information wrapper around the class to be analyzed.public PackageDependencyInfo calculateClassDependencies(ClassPackage aPackage)
This method resets the dependency analyzer's internal class node registry to be empty, before starting to calculate the dependencies.
aPackage
- The information wrapper around the package to analyzepublic ContainerDependencyInfo calculateClassDependencies(ClassContainer aContainer)
This method resets the dependency analyzer's internal class node registry to be empty, before starting to calculate the dependencies.
aContainer
- The container that contains all classes to analyzeprotected java.util.Collection<DependencyClassNode> analyzeContainedClasses(ClassInformation[] containedClasses)
protected void calculateClassDependencies(DependencyClassNode currentNode)
protected DependencyClassNode findOrRegister(ClassInformation classInfo)
protected DependencyClassNode findClassNode(ClassInformation classInfo)
protected boolean mustIgnore(ClassInformation classInfo)
protected boolean followClass(java.lang.String className)
protected void addToNodeRegistry(DependencyClassNode node)
protected void resetNodeRegistry()
protected DependencyClassNode[] getSortedArrayOfReferredClassNodes()
protected java.util.List<DependencyClassNode> getAllFoundClassNodes()
protected int numberOfFoundClassNodes()
protected DependencyClassNode[] toNodeArray(java.util.Collection<DependencyClassNode> coll)
protected java.util.Map<ClassInformation,DependencyClassNode> getNodeRegistry()
protected void setResult(DependencyInfo newValue)
protected ClassInformationFilter getClassInfoIgnoreFilter()
protected void setClassInfoIgnoreFilter(ClassInformationFilter filter)
protected CollectionUtil coll()