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.
 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

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