org.codehaus.groovy.runtime
Class GroovyCategorySupport

java.lang.Object
  extended by org.codehaus.groovy.runtime.GroovyCategorySupport

public class GroovyCategorySupport
extends java.lang.Object

Author:
sam, Paul King, Alex Tkachman

Nested Class Summary
private static class GroovyCategorySupport.CategoryMethod
           
static class GroovyCategorySupport.CategoryMethodList
           
private static class GroovyCategorySupport.MyThreadLocal
           
static class GroovyCategorySupport.ThreadCategoryInfo
           
 
Field Summary
private static java.util.concurrent.atomic.AtomicInteger categoriesInUse
           
private static GroovyCategorySupport.MyThreadLocal threadInfo
           
 
Constructor Summary
GroovyCategorySupport()
           
 
Method Summary
static GroovyCategorySupport.CategoryMethodList getCategoryMethods(java.lang.String name)
          This method is used to pull all the new methods out of the local thread context with a particular name.
static java.util.concurrent.atomic.AtomicInteger getCategoryNameUsage(java.lang.String name)
           
static boolean hasCategoryInAnyThread()
           
static boolean hasCategoryInCurrentThread()
           
static java.lang.Object use(java.lang.Class categoryClass, Closure closure)
          Create a scope based on given categoryClass and invoke closure within that scope.
static java.lang.Object use(java.util.List<java.lang.Class> categoryClasses, Closure closure)
          Create a scope based on given categoryClasses and invoke closure within that scope.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

categoriesInUse

private static java.util.concurrent.atomic.AtomicInteger categoriesInUse

threadInfo

private static final GroovyCategorySupport.MyThreadLocal threadInfo
Constructor Detail

GroovyCategorySupport

public GroovyCategorySupport()
Method Detail

getCategoryNameUsage

public static java.util.concurrent.atomic.AtomicInteger getCategoryNameUsage(java.lang.String name)

use

public static java.lang.Object use(java.lang.Class categoryClass,
                                   Closure closure)
Create a scope based on given categoryClass and invoke closure within that scope.

Parameters:
categoryClass - the class containing category methods
closure - the closure during which to make the category class methods available
Returns:
the value returned from the closure

use

public static java.lang.Object use(java.util.List<java.lang.Class> categoryClasses,
                                   Closure closure)
Create a scope based on given categoryClasses and invoke closure within that scope.

Parameters:
categoryClasses - the list of classes containing category methods
closure - the closure during which to make the category class methods available
Returns:
the value returned from the closure

hasCategoryInCurrentThread

public static boolean hasCategoryInCurrentThread()

hasCategoryInAnyThread

public static boolean hasCategoryInAnyThread()

getCategoryMethods

public static GroovyCategorySupport.CategoryMethodList getCategoryMethods(java.lang.String name)
This method is used to pull all the new methods out of the local thread context with a particular name.

Parameters:
name - the method name of interest
Returns:
the list of methods


Copyright © ${year} The Codehaus. All Rights Reserved.