# Package groovy.util

## Package groovy.util Description

Various Groovy utilities for working with nodes, builders, logging, JUnit test cases, text expressions, Ant tasks or JMX MBeans.

- Interface Summary
  Interface | Description
  --- | ---
  BufferedIterator | An iterator that allows examining the next element without consuming it.
  Factory |
  IFileNameFinder |
  ObjectGraphBuilder.ChildPropertySetter | Strategy for setting a child node on its parent.
  ObjectGraphBuilder.ClassNameResolver | Strategy for resolving a classname.
  ObjectGraphBuilder.IdentifierResolver | Strategy for picking the correct synthetic identifier.
  ObjectGraphBuilder.NewInstanceResolver | Strategy for creating new instances of a class.
  ObjectGraphBuilder.ReferenceResolver | Strategy for picking the correct synthetic reference identifier.
  ObjectGraphBuilder.RelationNameResolver | Strategy for resolving a relationship property name.
  ResourceConnector | Base interface for customizing where resources can be found for the `GroovyScriptEngine`.

- Class Summary
  Class | Description
  --- | ---
  AbstractFactory |
  AllTestSuite | AllTestSuite can be used in extension of GroovyTestSuite to execute TestCases written in Groovy from inside a Java IDE.
  AntBuilder | Allows Ant tasks to be used with a Groovy builder-style markup.
  BuilderSupport | An abstract base class for creating arbitrary nested trees of objects or events
  CliBuilder | @deprecated use `groovy.cli.picocli.CliBuilder` or CliBuilder instead.
  ClosureComparator | A Comparator which uses a closure to compare 2 values being equal
  ConfigBinding | Since Groovy Script doesn't support overriding setProperty, we use a trick with the Binding to provide this functionality
  ConfigObject | A ConfigObject at a simple level is a Map that creates configuration entries (other ConfigObjects) when referencing them.
  ConfigSlurper | ConfigSlurper is a utility class for reading configuration files defined in the form of Groovy scripts.
  DelegatingScript | Script that performs method invocations and property access like Closure does.
  Eval | Allow easy integration from Groovy into Java through convenience methods.
  Expando | Represents a dynamically expandable bean.
  FactoryBuilderSupport | Mix of BuilderSupport and SwingBuilder's factory support.
  FileNameByRegexFinder | Find files according to a base directory and an includes and excludes pattern.
  FileNameFinder | Find files according to a base directory and an includes and excludes pattern.
  FileTreeBuilder | A builder dedicated at generating a file directory structure from a specification.
  GroovyAssert | @deprecated Use the GroovyAssert class instead
  GroovyCollections | A Collections utility class
  GroovyMBean | A GroovyObject facade for an underlying MBean which acts like a normal groovy object but which is actually implemented via an underlying JMX MBean.
  GroovyShellTestCase | Groovy test case, which recreates internal GroovyShell in each setUp()
  GroovyTestCase | A JUnit 3 TestCase base class in Groovy.
  GroovyTestSuite | A TestSuite which will run a Groovy unit test case inside any Java IDE either as a unit test case or as an application.
  IndentPrinter | A helper class for printing indented text.
  JavadocAssertionTestBuilder | `JavadocAssertionTestBuilder` will dynamically create a test cases from Groovy assertions placed within the Javadoc comments of a source file.
  JavadocAssertionTestSuite | `JavadocAssertionTestSuite` will dynamically create test cases from Groovy assertions placed within Javadoc comments.
  MapEntry | A Map.Entry implementation.
  Node | Represents an arbitrary tree node which can be used for structured metadata or any arbitrary XML-like tree.
  NodeBuilder | A helper class for creating nested trees of Node objects for handling arbitrary data
  NodeList | A List implementation which is returned by queries on a Node which provides some XPath like helper methods for GPath.
  NodePrinter | A helper class for creating nested trees of data
  ObjectGraphBuilder | A builder for creating object graphs.
  ObjectGraphBuilder.DefaultChildPropertySetter | Default impl that calls parent.propertyName = child If parent.propertyName is a Collection it will try to add child to the collection.
  ObjectGraphBuilder.DefaultClassNameResolver | Default impl that capitalizes the classname.
  ObjectGraphBuilder.DefaultIdentifierResolver | Default impl, always returns 'id'
  ObjectGraphBuilder.DefaultNewInstanceResolver | Default impl that calls Class.newInstance()
  ObjectGraphBuilder.DefaultReferenceResolver | Default impl, always returns 'refId'
  ObjectGraphBuilder.DefaultRelationNameResolver | Default impl that returns parentName and childName accordingly.
  ObjectGraphBuilder.ReflectionClassNameResolver | Build objects using reflection to resolve class names.
  ObservableList | List decorator that will trigger PropertyChangeEvents when a value changes.
  ObservableList.ElementAddedEvent |
  ObservableList.ElementClearedEvent |
  ObservableList.ElementEvent |
  ObservableList.ElementRemovedEvent |
  ObservableList.ElementUpdatedEvent |
  ObservableList.MultiElementAddedEvent |
  ObservableList.MultiElementRemovedEvent |
  ObservableList.ObservableIterator |
  ObservableList.ObservableListIterator |
  ObservableMap | Map decorator that will trigger PropertyChangeEvents when a value changes.
  ObservableMap.MultiPropertyEvent |
  ObservableMap.PropertyAddedEvent |
  ObservableMap.PropertyClearedEvent |
  ObservableMap.PropertyEvent |
  ObservableMap.PropertyRemovedEvent |
  ObservableMap.PropertyUpdatedEvent |
  ObservableSet | Set decorator that will trigger PropertyChangeEvents when a value changes.
  ObservableSet.ElementAddedEvent |
  ObservableSet.ElementClearedEvent |
  ObservableSet.ElementEvent |
  ObservableSet.ElementRemovedEvent |
  ObservableSet.MultiElementAddedEvent |
  ObservableSet.MultiElementRemovedEvent |
  ObservableSet.ObservableIterator |
  OptionAccessor | @deprecated use `groovy.cli.picocli.OptionAccessor` or OptionAccessor
  OrderBy | A helper class for sorting objects via a closure to return the field or operation on which to sort.
  PermutationGenerator | Systematically generate permutations.
  Proxy | Dynamic groovy proxy for another object.
  ProxyGenerator | Classes to generate 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.
  StringTestUtil |
  XmlNodePrinter | Prints a `groovy.util.Node` (as used with `XmlParser`) including all children in XML format.
  XmlNodePrinter.NamespaceContext |
  XmlParser | A helper class for parsing XML into a tree of Node instances for a simple way of processing XML.
  XmlSlurper | Parse XML into a document tree that may be traversed similar to XPath expressions.

- Enum Summary
  Enum | Description
  --- | ---
  ObservableList.ChangeType |
  ObservableMap.ChangeType |
  ObservableSet.ChangeType |

- Exception Summary
  Exception | Description
  --- | ---
  ResourceException |
  ScriptException |