# Package org.codehaus.groovy.transform

- Interface Summary
  Interface | Description
  --- | ---
  ASTTransformation | This class is instantiated and invoked when an AST transformation is activated.
  BuilderASTTransformation.BuilderStrategy |
  LogASTTransformation.LoggingStrategy | A LoggingStrategy defines how to wire a new logger instance into an existing class.

- Class Summary
  Class | Description
  --- | ---
  AbstractASTTransformation |
  AbstractASTTransformUtil | Deprecated use org.codehaus.groovy.ast.tools.GeneralUtils
  AbstractInterruptibleASTTransformation | Base class for AST Transformations which will automatically throw an `InterruptedException` when some conditions are met.
  AnnotationCollectorTransform | This class is the base for any annotation alias processor.
  AnnotationCollectorTransform.ClassChanger | Class used by `CompilationUnit` to transform the alias class into what is needed by the compiler.
  ASTTransformationCollectorCodeVisitor | This visitor walks the AST tree and collects references to Annotations that are annotated themselves by `GroovyASTTransformation`.
  ASTTransformationVisitor | This class handles the invocation of the ASTAnnotationTransformation when it is encountered by a tree walk.
  AutoCloneASTTransformation | Handles generation of code for the @AutoClone annotation.
  BaseScriptASTTransformation | Handles transformation for the @BaseScript annotation.
  BuilderASTTransformation | Handles generation of code for the `Builder` annotation.
  BuilderASTTransformation.AbstractBuilderStrategy |
  BuilderASTTransformation.AbstractBuilderStrategy.PropertyInfo |
  CanonicalASTTransformation | Handles generation of code for the @Canonical annotation.
  CategoryASTTransformation | Handles generation of code for the @Category annotation.
  CompileDynamicProcessor |
  DelegateASTTransformation | Handles generation of code for the `@Delegate` annotation
  EqualsAndHashCodeASTTransformation |
  ExternalizeMethodsASTTransformation | Handles generation of code for the @ExternalizeMethods annotation.
  ExternalizeVerifierASTTransformation |
  FieldASTTransformation | Handles transformation for the @Field annotation.
  ImmutableASTTransformation | Handles generation of code for the @Immutable annotation.
  IndexedPropertyASTTransformation | Handles generation of code for the `@`IndexedProperty annotation.
  InheritConstructorsASTTransformation | Handles generation of code for the `@`InheritConstructors annotation.
  LazyASTTransformation | Handles generation of code for the @Lazy annotation
  LogASTTransformation | This class provides an AST Transformation to add a log field to a class.
  LogASTTransformation.AbstractLoggingStrategy |
  MemoizedASTTransformation | Handles generation of code for the `Memoized` annotation.
  NewifyASTTransformation | Handles generation of code for the @Newify annotation.
  NotYetImplementedASTTransformation | Handles generation of code for the `@NotYetImplemented` annotation.
  PackageScopeASTTransformation | Handles transformation for the @PackageScope annotation.
  ReadWriteLockASTTransformation | Handles generation of code for the `@`WithReadLock and `@`WithWriteLock annotation. This transformation adds an instance of ReentrantReadWriteLock to the class. Any method annotated with `@`WithReadLock will obtain a read lock and release it in a finally block. Any method annotated with `@`WithWriteLock will obtain a write lock and release it in a finally block. For more information see `WithReadLock` and `WithWriteLock`
  SingletonASTTransformation | Handles generation of code for the @Singleton annotation
  SortableASTTransformation | Injects a set of Comparators and sort methods.
  SourceURIASTTransformation | Handles transformation for the @ScriptURI annotation.
  StaticTypesTransformation | Handles the implementation of the `TypeChecked` transformation.
  SynchronizedASTTransformation | Handles generation of code for the `@Synchronized` annotation.
  ToStringASTTransformation | Handles generation of code for the @ToString annotation.
  TupleConstructorASTTransformation | Handles generation of code for the @TupleConstructor annotation.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  GroovyASTTransformation | This is an annotation on a class, currently just `ASTTransformation`.
  GroovyASTTransformationClass | This is an annotation on some item that indicates that an associated transform classes should be executed.