Package org.codehaus.groovy.runtime

# Class GroovyCategorySupport

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

public class GroovyCategorySupport extends Object

Author:
  sam, Paul King, Alex Tkachman

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`GroovyCategorySupport.CategoryMethod`
`static class`
`GroovyCategorySupport.CategoryMethodList`
`static class`
`GroovyCategorySupport.ThreadCategoryInfo`

## Constructor Summary

Constructors
Constructor
Description
`GroovyCategorySupport()`

## Method Summary

Modifier and Type
Method
Description
`static GroovyCategorySupport.CategoryMethodList`
`getCategoryMethods(String name)`
This method is used to pull all the new methods out of the local thread context with a particular name.
`static AtomicInteger`
`getCategoryNameUsage(String name)`
`static String`
`getPropertyCategoryGetterName(String propertyName)`
`static String`
`getPropertyCategorySetterName(String propertyName)`
`static boolean`
`hasCategoryInAnyThread()`
Deprecated.
use `hasCategoryInCurrentThread()`
`static boolean`
`hasCategoryInCurrentThread()`
`static <T> T`
`use(Class categoryClass, Closure<T> closure)`
Create a scope based on given categoryClass and invoke closure within that scope.
`static <T> T`
`use(List<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 Details

### GroovyCategorySupport

public GroovyCategorySupport()

## Method Details

### getCategoryNameUsage

public static AtomicInteger getCategoryNameUsage(String name)

### use

public static <T> T use(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(List<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(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 String getPropertyCategoryGetterName(String propertyName)

### getPropertyCategorySetterName

public static String getPropertyCategorySetterName(String propertyName)