org.codehaus.groovy.runtime

## Class GroovyCategorySupport

- java.lang.Object
- - org.codehaus.groovy.runtime.GroovyCategorySupport

    public class GroovyCategorySupport
    extends java.lang.Object

Author:
  sam, Paul King, Alex Tkachman

### Nested Class Summary

Nested Classes
`static class` `GroovyCategorySupport.CategoryMethod`
`static class` `GroovyCategorySupport.CategoryMethodList`
`static class` `GroovyCategorySupport.ThreadCategoryInfo`

### Constructor Summary

Constructors
Constructor and Description
`GroovyCategorySupport()`

### Method Summary

All Methods Static Methods Concrete Methods Deprecated Methods
`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 java.lang.String` `getPropertyCategoryGetterName(java.lang.String propertyName)`
`static java.lang.String` `getPropertyCategorySetterName(java.lang.String propertyName)`
`static boolean` `hasCategoryInAnyThread()` Deprecated. use `hasCategoryInCurrentThread()`
`static boolean` `hasCategoryInCurrentThread()`
`static <T> T` `use(java.lang.Class categoryClass, Closure<T> closure)` Create a scope based on given categoryClass and invoke closure within that scope.
`static <T> T` `use(java.util.List<java.lang.Class> categoryClasses, Closure<T> 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`

### Constructor Detail

#### GroovyCategorySupport

    public GroovyCategorySupport()

### Method Detail

#### getCategoryNameUsage

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

#### use

    public static <T> T use(java.lang.Class categoryClass,
                            Closure<T> 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 <T> T use(java.util.List<java.lang.Class> categoryClasses,
                            Closure<T> 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

    @Deprecated
    public static boolean hasCategoryInAnyThread()

Deprecated. use `hasCategoryInCurrentThread()`

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

#### getPropertyCategoryGetterName

    public static java.lang.String getPropertyCategoryGetterName(java.lang.String propertyName)

#### getPropertyCategorySetterName

    public static java.lang.String getPropertyCategorySetterName(java.lang.String propertyName)