GrailsProjectWatcher (Grails 2.4.4)
Date: 2014-10-28

Package: org.codehaus.groovy.grails.project.compiler

## [Java] Class GrailsProjectWatcher

- org.codehaus.groovy.grails.project.compiler.GrailsProjectWatcher

- Watches a Grails project and re-compiles sources when they change or fires events to the pluginManager.

  Authors:
    Graeme Rocher
  Since:
    2.0

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static java.lang.String` | `SPRING_LOADED_PLUGIN_CLASS` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class DirectoryWatcher` | `SVN_DIR_NAME`
    `class java.lang.Thread` | `MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `GrailsProjectWatcher (GrailsProjectCompiler compiler, GrailsPluginManager pluginManager)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `protected boolean` | `fileIsReloadable(java.io.File file)`
    `static void` | `firePendingClassChangeEvents(java.lang.Class<?> updatedClass)` Fire any pending class change events
    `static boolean` | `isActive()` Whether the watcher is active
    `static boolean` | `isReloadingAgentPresent()`
    `void` | `run()`
    `void` | `setPluginManager(GrailsPluginManager pluginManager)`
    `static void` | `setReloadExcludes(java.util.List<java.lang.String> reloadExcludes)`
    `static void` | `setReloadIncludes(java.util.List<java.lang.String> reloadIncludes)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class DirectoryWatcher` | `addListener, addWatchDirectory, addWatchDirectory, addWatchDirectory, addWatchFile, run, setActive, setSleepTime`
    `class java.lang.Thread` | `java.lang.Thread#run(), java.lang.Thread#toString(), java.lang.Thread#isInterrupted(), java.lang.Thread#currentThread(), java.lang.Thread#getName(), java.lang.Thread#getThreadGroup(), java.lang.Thread#getStackTrace(), java.lang.Thread#holdsLock(java.lang.Object), java.lang.Thread#dumpStack(), java.lang.Thread#setPriority(int), java.lang.Thread#setDaemon(boolean), java.lang.Thread#start(), java.lang.Thread#yield(), java.lang.Thread#sleep(long, int), java.lang.Thread#sleep(long), java.lang.Thread#stop(), java.lang.Thread#stop(java.lang.Throwable), java.lang.Thread#interrupt(), java.lang.Thread#interrupted(), java.lang.Thread#destroy(), java.lang.Thread#isAlive(), java.lang.Thread#suspend(), java.lang.Thread#resume(), java.lang.Thread#getPriority(), java.lang.Thread#setName(java.lang.String), java.lang.Thread#activeCount(), java.lang.Thread#enumerate([Ljava.lang.Thread;), java.lang.Thread#countStackFrames(), java.lang.Thread#join(), java.lang.Thread#join(long), java.lang.Thread#join(long, int), java.lang.Thread#isDaemon(), java.lang.Thread#checkAccess(), java.lang.Thread#getContextClassLoader(), java.lang.Thread#setContextClassLoader(java.lang.ClassLoader), java.lang.Thread#getAllStackTraces(), java.lang.Thread#getId(), java.lang.Thread#getState(), java.lang.Thread#setDefaultUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler), java.lang.Thread#getDefaultUncaughtExceptionHandler(), java.lang.Thread#getUncaughtExceptionHandler(), java.lang.Thread#setUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler), java.lang.Thread#wait(long, int), java.lang.Thread#wait(long), java.lang.Thread#wait(), java.lang.Thread#equals(java.lang.Object), java.lang.Thread#hashCode(), java.lang.Thread#getClass(), java.lang.Thread#notify(), java.lang.Thread#notifyAll()`

- - ### Field Detail

    - #### public static final java.lang.String SPRING_LOADED_PLUGIN_CLASS

  - ### Constructor Detail

    - #### public GrailsProjectWatcher(GrailsProjectCompiler compiler, GrailsPluginManager pluginManager)

  - ### Method Detail

    - #### protected boolean fileIsReloadable(java.io.File file)

    - #### public static void firePendingClassChangeEvents(java.lang.Class<?> updatedClass)

      Fire any pending class change events

      Parameters:
        `updatedClass` - The class to update

    - #### public static boolean isActive()

      Whether the watcher is active

      Returns:
        true if it is

    - #### public static boolean isReloadingAgentPresent()

    - #### @java.lang.Override public void run()

    - #### public void setPluginManager(GrailsPluginManager pluginManager)

    - #### public static void setReloadExcludes(java.util.List<java.lang.String> reloadExcludes)

    - #### public static void setReloadIncludes(java.util.List<java.lang.String> reloadIncludes)