de.frag.umlplugin.psi
Class ClassFinder

java.lang.Object
  extended by de.frag.umlplugin.psi.ClassFinder

public class ClassFinder
extends java.lang.Object

Finds classes.


Constructor Summary
ClassFinder()
           
 
Method Summary
static java.util.List<DependencyReason> filterReasons(java.util.List<DependencyReason> reasons)
          Filters reasons so that the number of dependencies is minimized.
static java.util.List<com.intellij.psi.PsiClass> findAllClassesForContext(com.intellij.openapi.project.Project project, com.intellij.psi.search.SearchScope searchScope)
          Finds all classes for given data context.
static com.intellij.psi.PsiClass findPsiClass(com.intellij.openapi.project.Project project, java.lang.String qualifiedClassName)
          Finds psi class for given qualified class name.
static boolean isProjectClass(com.intellij.psi.PsiElement psiClass)
          Checks whether given class is a project class or a reference to an external class.
static boolean isTestClass(com.intellij.psi.PsiClass psiClass)
          Checks whether given class is a test class or a production class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassFinder

public ClassFinder()
Method Detail

findPsiClass

@Nullable
public static com.intellij.psi.PsiClass findPsiClass(@NotNull
                                                              com.intellij.openapi.project.Project project,
                                                              @NotNull
                                                              java.lang.String qualifiedClassName)
Finds psi class for given qualified class name.

Parameters:
project - current project
qualifiedClassName - qualified class name
Returns:
found psi class or null, if no psi class with given qualified name could be found

findAllClassesForContext

@NotNull
public static java.util.List<com.intellij.psi.PsiClass> findAllClassesForContext(@NotNull
                                                                                         com.intellij.openapi.project.Project project,
                                                                                         @NotNull
                                                                                         com.intellij.psi.search.SearchScope searchScope)
Finds all classes for given data context.

Parameters:
project - current project
searchScope - search scope that will be used to limit found classes
Returns:
list of all found classes

isProjectClass

public static boolean isProjectClass(@NotNull
                                     com.intellij.psi.PsiElement psiClass)
Checks whether given class is a project class or a reference to an external class.

Parameters:
psiClass - class to be checked
Returns:
true, if class is a project class; false it is a reference to an external class

isTestClass

public static boolean isTestClass(@NotNull
                                  com.intellij.psi.PsiClass psiClass)
Checks whether given class is a test class or a production class.

Parameters:
psiClass - class to be checked
Returns:
true, if class is a test class; false it is a production class

filterReasons

@NotNull
public static java.util.List<DependencyReason> filterReasons(@NotNull
                                                                     java.util.List<DependencyReason> reasons)
Filters reasons so that the number of dependencies is minimized.

Parameters:
reasons - reasons to filter
Returns:
filtered reasons