com.caucho.loader.enhancer
Interface ScanListener

All Known Implementing Classes:
AmberContainer, EjbManager, PersistenceManager

@Module
public interface ScanListener

Interface for a scan manager


Method Summary
 void classMatchEvent(EnvironmentClassLoader loader, Path root, java.lang.String className)
          Callback to note the class matches
 int getScanPriority()
          Returns the listener's priority.
 boolean isRootScannable(Path root, java.lang.String packageRoot)
          Called to check if the archive should be scanned.
 boolean isScanMatchAnnotation(CharBuffer string)
          Returns true if the string matches an annotation class.
 ScanClass scanClass(Path root, java.lang.String packageRoot, java.lang.String name, int modifiers)
          Returns the state when scanning the class
 

Method Detail

getScanPriority

int getScanPriority()
Returns the listener's priority. 0 is an enhancer like Amber 1 is an extender like CanDI 2 is an extender like WebApp 3.0


isRootScannable

boolean isRootScannable(Path root,
                        java.lang.String packageRoot)
Called to check if the archive should be scanned.


scanClass

ScanClass scanClass(Path root,
                    java.lang.String packageRoot,
                    java.lang.String name,
                    int modifiers)
Returns the state when scanning the class

Parameters:
root - the module/jar's root path
packageRoot - the virtual package root (usually for Testing)
name - the class name
modifiers - the class modifiers
Returns:
the ScanClass object

isScanMatchAnnotation

boolean isScanMatchAnnotation(CharBuffer string)
Returns true if the string matches an annotation class.


classMatchEvent

void classMatchEvent(EnvironmentClassLoader loader,
                     Path root,
                     java.lang.String className)
Callback to note the class matches