org.jibx.custom.classes
Class ClassSourceLocator

java.lang.Object
  extended by org.jibx.custom.classes.ClassSourceLocator
All Implemented Interfaces:
IClassSourceLocator, IClassLocator

public class ClassSourceLocator
extends java.lang.Object
implements IClassSourceLocator

Locator that supports both class file lookup and source file lookup.

Author:
Dennis M. Sosnoski

Field Summary
private  JavaDocBuilder m_builder
          Source file parser.
private  java.util.Set m_lookupSet
          Set of classes parsed.
private  java.lang.String[] m_sourcePaths
          Paths for source lookup.
 
Constructor Summary
ClassSourceLocator(java.lang.String[] paths)
          Constructor.
 
Method Summary
 IClass getClassInfo(java.lang.String name)
          Get the information for a class.
 IClass getRequiredClassInfo(java.lang.String name)
          Get required class information.
 JavaClass getSourceInfo(java.lang.String name)
          Get the source code information for a class.
 boolean isLookupSupported()
          Check if class lookup is supported.
 java.lang.Class loadClass(java.lang.String name)
          Load class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_sourcePaths

private final java.lang.String[] m_sourcePaths
Paths for source lookup.


m_builder

private final JavaDocBuilder m_builder
Source file parser.


m_lookupSet

private final java.util.Set m_lookupSet
Set of classes parsed.

Constructor Detail

ClassSourceLocator

public ClassSourceLocator(java.lang.String[] paths)
Constructor.

Parameters:
paths - source lookup paths (may be empty, but not null)
Method Detail

isLookupSupported

public boolean isLookupSupported()
Check if class lookup is supported. This always returns true.

Specified by:
isLookupSupported in interface IClassLocator
Returns:
true

getSourceInfo

public JavaClass getSourceInfo(java.lang.String name)
Get the source code information for a class.

Specified by:
getSourceInfo in interface IClassSourceLocator
Parameters:
name - fully-qualified class name (using '$' as inner class marker)
Returns:
source code information, null if not available

getClassInfo

public IClass getClassInfo(java.lang.String name)
Get the information for a class.

Specified by:
getClassInfo in interface IClassLocator
Parameters:
name - fully-qualified class name (using '$' as inner class marker)
Returns:
class information, or null if not found

getRequiredClassInfo

public IClass getRequiredClassInfo(java.lang.String name)
Get required class information. If the class cannot be found a runtime exception is thrown.

Specified by:
getRequiredClassInfo in interface IClassLocator
Parameters:
name - fully-qualified name of class to be found
Returns:
class information

loadClass

public java.lang.Class loadClass(java.lang.String name)
Load class.

Specified by:
loadClass in interface IClassLocator
Parameters:
name - fully-qualified class name
Returns:
loaded class, or null if not found


Project Web Site