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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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)