org.netbeans.modules.java.source 0.80.1 17

org.netbeans.api.java.source
Class ClassIndex

java.lang.Object
  extended by org.netbeans.api.java.source.ClassIndex

public final class ClassIndex
extends Object

The ClassIndex provides access to information stored in the persistent index. It can be used to obtain list of packages or declared types. It can be also used to obtain a list of source files referencing given type (usages of given type).


Nested Class Summary
static class ClassIndex.NameKind
          Encodes a type of the name kind used by getDeclaredTypes(java.lang.String, org.netbeans.api.java.source.ClassIndex.NameKind, java.util.Set) method.
static class ClassIndex.SearchKind
          Encodes a reference type, used by getElements(org.netbeans.api.java.source.ElementHandle, java.util.Set, java.util.Set) and getResources(org.netbeans.api.java.source.ElementHandle, java.util.Set, java.util.Set) to restrict the search.
static class ClassIndex.SearchScope
          Scope used by ClassIndex to search in
 
Method Summary
 void addClassIndexListener(ClassIndexListener listener)
          Adds an ClassIndexListener.
 Set<ElementHandle<TypeElement>> getDeclaredTypes(String name, ClassIndex.NameKind kind, Set<ClassIndex.SearchScope> scope)
          Returns ElementHandles for all declared types in given classpath corresponding to the name.
 Set<ElementHandle<TypeElement>> getElements(ElementHandle<TypeElement> element, Set<ClassIndex.SearchKind> searchKind, Set<ClassIndex.SearchScope> scope)
          Returns a set of ElementHandles containing reference(s) to given element.
 Set<String> getPackageNames(String prefix, boolean directOnly, Set<ClassIndex.SearchScope> scope)
          Returns names af all packages in given classpath starting with prefix.
 Set<FileObject> getResources(ElementHandle<TypeElement> element, Set<ClassIndex.SearchKind> searchKind, Set<ClassIndex.SearchScope> scope)
          Returns a set of source files containing reference(s) to given element.
 void removeClassIndexListener(ClassIndexListener listener)
          Removes an ClassIndexListener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addClassIndexListener

public void addClassIndexListener(@NonNull
                                  ClassIndexListener listener)
Adds an ClassIndexListener. The listener is notified about the changes of declared types in this ClassIndex

Parameters:
listener - to be added

removeClassIndexListener

public void removeClassIndexListener(@NonNull
                                     ClassIndexListener listener)
Removes an ClassIndexListener. The listener is notified about the changes of declared types in this ClassIndex

Parameters:
listener - to be removed

getElements

@NullUnknown
public Set<ElementHandle<TypeElement>> getElements(@NonNull
                                                               ElementHandle<TypeElement> element,
                                                               @NonNull
                                                               Set<ClassIndex.SearchKind> searchKind,
                                                               @NonNull
                                                               Set<ClassIndex.SearchScope> scope)
Returns a set of ElementHandles containing reference(s) to given element.

Parameters:
element - for which usages should be found
searchKind - type of reference, ClassIndex.SearchKind
scope - to search in ClassIndex.SearchScope
Returns:
set of ElementHandles containing the reference(s) It may return null when the caller is a CancellableTask<CompilationInfo> and is cancelled inside call of this method.

getResources

@NullUnknown
public Set<FileObject> getResources(@NonNull
                                                ElementHandle<TypeElement> element,
                                                @NonNull
                                                Set<ClassIndex.SearchKind> searchKind,
                                                @NonNull
                                                Set<ClassIndex.SearchScope> scope)
Returns a set of source files containing reference(s) to given element.

Parameters:
element - for which usages should be found
searchKind - type of reference, ClassIndex.SearchKind
scope - to search in ClassIndex.SearchScope
Returns:
set of FileObjects containing the reference(s) It may return null when the caller is a CancellableTask<CompilationInfo> and is cancelled inside call of this method.

getDeclaredTypes

@NullUnknown
public Set<ElementHandle<TypeElement>> getDeclaredTypes(@NonNull
                                                                    String name,
                                                                    @NonNull
                                                                    ClassIndex.NameKind kind,
                                                                    @NonNull
                                                                    Set<ClassIndex.SearchScope> scope)
Returns ElementHandles for all declared types in given classpath corresponding to the name.

Parameters:
name - case sensitive prefix, case insensitive prefix, exact simple name, camel case or regular expression depending on the kind parameter.
kind - of the name ClassIndex.NameKind
scope - to search in ClassIndex.SearchScope
Returns:
set of all matched declared types It may return null when the caller is a CancellableTask<CompilationInfo> and is cancelled inside call of this method.

getPackageNames

@NullUnknown
public Set<String> getPackageNames(@NonNull
                                               String prefix,
                                               boolean directOnly,
                                               @NonNull
                                               Set<ClassIndex.SearchScope> scope)
Returns names af all packages in given classpath starting with prefix.

Parameters:
prefix - of the package name
directOnly - if true treats the packages as folders and returns only the nearest component of the package.
scope - to search in ClassIndex.SearchScope
Returns:
set of all matched package names It may return null when the caller is a CancellableTask<CompilationInfo> and is cancelled inside call of this method.

org.netbeans.modules.java.source 0.80.1 17

Built on December 5 2011.  |  Portions Copyright 1997-2011 Sun Microsystems, Inc. All rights reserved.