Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

oracle.jdeveloper.java.locator
Class LibraryClassLocator

java.lang.Object
  extended by oracle.jdeveloper.java.locator.BaseClassLocator
      extended by oracle.jdeveloper.java.locator.LibraryClassLocator
All Implemented Interfaces:
JavaClassLocator, JavaClassLocator2, JavaResourceLocator

public class LibraryClassLocator
extends BaseClassLocator

The LibraryClassLocator is an implementation of the JavaClassLocator to locate classes for a Library instance.


Field Summary
 
Fields inherited from class oracle.jdeveloper.java.locator.BaseClassLocator
EMPTY_COLLECTION, EMPTY_LOCATOR, EMPTY_STRING_ARRAY
 
Constructor Summary
protected LibraryClassLocator(Library library)
          Constructs a new LibraryClassLocator for the given library.
 
Method Summary
 void buildIndex()
          Instructs this class locator to start building its index for locating files.
 void buildIndexInterruptibly()
          Instructs this class locator to start building its index for locating files.
protected  void getAllClasses(java.util.Collection<java.lang.String> out, ClassNameFilter filter)
          Fetch all of the top-level classes that are known by this locator.
protected  void getAllClassesInterruptibly(java.util.Collection<java.lang.String> out, ClassNameFilter filter)
          Get all of the top-level classes that are known by this locator.
protected  void getAllPackages(java.util.Collection<java.lang.String> out, PackageNameFilter filter)
          Fetch all of the full packges that are known by this locator.
protected  void getAllPackagesInterruptibly(java.util.Collection<java.lang.String> out, PackageNameFilter filter)
          Get all of the full packges that are known by this locator.
protected  void getClassesInPackage(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
          Fetch the list of top-level classes within the given package, adding them to the out collection provided.
protected  void getClassesInPackageInterruptibly(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
          Get the list of top-level classes within the package.
 java.net.URL getClassURL(java.lang.String fqClassName)
          Fetch the URL for the JavaFile for the given fully-qualified Java class name.
 java.net.URL getClassURLInterruptibly(java.lang.String fqClassName)
          Fetch the URL for the JavaFile for the given fully-qualified Java class name.
protected  void getPackages(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
          Fetch the list of subpackages within the given package, adding them to the out collection provided.
protected  void getPackagesInterruptibly(java.lang.String packagePrefix, java.util.Collection<java.lang.String> out)
          Get the list of subpackages within the given package.
 java.net.URL getResourceURL(java.lang.String resourceName)
          Fetch the URL for the Java resource file given the resource name.
 java.net.URL getSourceURL(java.lang.String fqClassName)
          Fetch the URL for the SourceFile for the given fully-qualified Java class name.
 java.net.URL getSourceURLInterruptibly(java.lang.String fqClassName)
          Fetch the URL for the SourceFile for the given fully-qualified Java class name.
 java.net.URL getURL(java.lang.String fqClassName)
          Fetch the URL for the JavaFile for the given fully-qualified Java class name.
 java.net.URL getURLInterruptibly(java.lang.String fqClassName)
          Fetch the URL for the JavaFile for the given fully-qualified Java class name.
 
Methods inherited from class oracle.jdeveloper.java.locator.BaseClassLocator
addToCollection, buildFQName, checkInterrupt, ensureValid, getAllClasses, getAllClasses, getAllClassesInterruptibly, getAllClassesInterruptibly, getAllPackages, getAllPackages, getAllPackagesInterruptibly, getAllPackagesInterruptibly, getClassesByName, getClassesByNameInterruptibly, getClassesByPrefix, getClassesByPrefixInterruptibly, getClassesInPackage, getClassesInPackageInterruptibly, getNameCascades, getNameParts, getPackages, getPackagesInterruptibly, getResourceURLs, getStringArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LibraryClassLocator

protected LibraryClassLocator(Library library)
Constructs a new LibraryClassLocator for the given library.

Parameters:
library - the library to locate classes for
Method Detail

buildIndex

public void buildIndex()
Instructs this class locator to start building its index for locating files. This method runs on the current thread and blocks until the index build is completed. To build the index in the background, call this method on a background thread.


buildIndexInterruptibly

public void buildIndexInterruptibly()
                             throws java.lang.InterruptedException
Description copied from interface: JavaClassLocator2
Instructs this class locator to start building its index for locating files. This method runs on the current thread and blocks until the index build is completed. To build the index in the background, call this method on a background thread.

Specified by:
buildIndexInterruptibly in interface JavaClassLocator2
Overrides:
buildIndexInterruptibly in class BaseClassLocator
Throws:
java.lang.InterruptedException - if the build is interrupted

getPackages

protected void getPackages(java.lang.String packagePrefix,
                           java.util.Collection<java.lang.String> out)
Fetch the list of subpackages within the given package, adding them to the out collection provided.

Specified by:
getPackages in class BaseClassLocator
Parameters:
packagePrefix - the package prefix, i.e., "java.io"
out - the collection to add the packages

getPackagesInterruptibly

protected void getPackagesInterruptibly(java.lang.String packagePrefix,
                                        java.util.Collection<java.lang.String> out)
                                 throws java.lang.InterruptedException
Description copied from class: BaseClassLocator
Get the list of subpackages within the given package. Can be overridden by subclasses that support interruption.

Overrides:
getPackagesInterruptibly in class BaseClassLocator
Parameters:
packagePrefix - the package prefix
out - the collection where packages are added
Throws:
java.lang.InterruptedException - if the operation is interrupted

getClassesInPackage

protected void getClassesInPackage(java.lang.String packagePrefix,
                                   java.util.Collection<java.lang.String> out)
Fetch the list of top-level classes within the given package, adding them to the out collection provided.

Specified by:
getClassesInPackage in class BaseClassLocator
Parameters:
packagePrefix - the package prefix, i.e., "java.io"
out - the collection to add the class names

getClassesInPackageInterruptibly

protected void getClassesInPackageInterruptibly(java.lang.String packagePrefix,
                                                java.util.Collection<java.lang.String> out)
                                         throws java.lang.InterruptedException
Description copied from class: BaseClassLocator
Get the list of top-level classes within the package. Can be overridden by subclasses that support interruption.

Overrides:
getClassesInPackageInterruptibly in class BaseClassLocator
Parameters:
packagePrefix - the package prefix
out - the collection where packages are added
Throws:
java.lang.InterruptedException - if the operation is interrupted

getAllClasses

protected void getAllClasses(java.util.Collection<java.lang.String> out,
                             ClassNameFilter filter)
Fetch all of the top-level classes that are known by this locator. This will return fully-qualified class names, such as "java.util.List".

Specified by:
getAllClasses in class BaseClassLocator
Parameters:
out - the collection to add the fully-qualified class names
filter - the class name filter to use

getAllClassesInterruptibly

protected void getAllClassesInterruptibly(java.util.Collection<java.lang.String> out,
                                          ClassNameFilter filter)
                                   throws java.lang.InterruptedException
Description copied from class: BaseClassLocator
Get all of the top-level classes that are known by this locator. This can be overridden by subclasses that provide support for interruption.

Overrides:
getAllClassesInterruptibly in class BaseClassLocator
Parameters:
out - the collection where fully qualified class names are added
filter - the class name filter to use
Throws:
java.lang.InterruptedException - if the operation is interrupted

getAllPackages

protected void getAllPackages(java.util.Collection<java.lang.String> out,
                              PackageNameFilter filter)
Fetch all of the full packges that are known by this locator. This will return fully-qualified package names, such as "java.util" or "java.io". This collection will not include the top-level package "".

Specified by:
getAllPackages in class BaseClassLocator
Parameters:
out - the collection to add the full package names
filter - the pckage name filter to use

getAllPackagesInterruptibly

protected void getAllPackagesInterruptibly(java.util.Collection<java.lang.String> out,
                                           PackageNameFilter filter)
                                    throws java.lang.InterruptedException
Description copied from class: BaseClassLocator
Get all of the full packges that are known by this locator. Can be overridden by subclasses that support interruption.

Overrides:
getAllPackagesInterruptibly in class BaseClassLocator
Parameters:
out - the collection where package names are added
filter - the package name filter to use
Throws:
java.lang.InterruptedException - if the operation is interrupted

getURL

public java.net.URL getURL(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class name. The implementation may choose either a class URL or source URL. For example, an implementation may decide to return the URL that is more up-to-date, or an URL that would be faster to load. Note that if the given class is an inner class, this routine may return the URL for the Java source that contains the owning outer class.

Parameters:
fqClassName - the fully-qualified class name in dotted notation, i.e., java.util.List
Returns:
the URL for the JavaFile containing the given class

getURLInterruptibly

public java.net.URL getURLInterruptibly(java.lang.String fqClassName)
                                 throws java.lang.InterruptedException
Description copied from interface: JavaClassLocator2
Fetch the URL for the JavaFile for the given fully-qualified Java class name. The implementation may choose either a class URL or source URL. For example, an implementation may decide to return the URL that is more up-to-date, or an URL that would be faster to load. Note that if the given class is an inner class, this routine may return the URL for the Java source that contains the owning outer class.

Specified by:
getURLInterruptibly in interface JavaClassLocator2
Overrides:
getURLInterruptibly in class BaseClassLocator
Parameters:
fqClassName - the fully-qualified class name in dotted notation, i.e., java.util.List
Returns:
the URL for the JavaFile containing the given class
Throws:
java.lang.InterruptedException - if the operation is interrupted

getSourceURL

public java.net.URL getSourceURL(java.lang.String fqClassName)
Fetch the URL for the SourceFile for the given fully-qualified Java class name. This may return null if a source URL is not available for the given fully-qualified class name.

Parameters:
fqClassName - the fully-qualified class name in dotted notation

getSourceURLInterruptibly

public java.net.URL getSourceURLInterruptibly(java.lang.String fqClassName)
                                       throws java.lang.InterruptedException
Description copied from interface: JavaClassLocator2
Fetch the URL for the SourceFile for the given fully-qualified Java class name. This may return null if a source URL is not available for the given fully-qualified class name.

Specified by:
getSourceURLInterruptibly in interface JavaClassLocator2
Overrides:
getSourceURLInterruptibly in class BaseClassLocator
Parameters:
fqClassName - the fully-qualified class name in dotted notation
Throws:
java.lang.InterruptedException - if the operation is interrupted

getClassURL

public java.net.URL getClassURL(java.lang.String fqClassName)
Fetch the URL for the JavaFile for the given fully-qualified Java class name. This may return null if a given class URL is not available for the given fully-qualified class name.

Parameters:
fqClassName - the fully-qualified class name in dotted notation
Returns:
the Java *.class URL, or null if it is not found

getClassURLInterruptibly

public java.net.URL getClassURLInterruptibly(java.lang.String fqClassName)
                                      throws java.lang.InterruptedException
Description copied from interface: JavaClassLocator2
Fetch the URL for the JavaFile for the given fully-qualified Java class name. This may return null if a given class URL is not available for the given fully-qualified class name.

Specified by:
getClassURLInterruptibly in interface JavaClassLocator2
Overrides:
getClassURLInterruptibly in class BaseClassLocator
Parameters:
fqClassName - the fully-qualified class name in dotted notation
Throws:
java.lang.InterruptedException - if the operation is interrupted

getResourceURL

public java.net.URL getResourceURL(java.lang.String resourceName)
Fetch the URL for the Java resource file given the resource name. This should include the full path of the resource, minus any root directory that is part of the class path.

Parameters:
resourceName - the full name of the resource including any file extensions
Returns:
the Java resource URL, or null if it is not found

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

Copyright © 1997, 2011, Oracle. All rights reserved.