# Package groovy.util

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

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Factory |
  IFileNameFinder |
  ObjectGraphBuilder.ChildPropertySetter | Strategy for setting a child node on its parent. Useful for handling Lists/Arrays vs normal properties.
  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. Useful for plug-in calls to non-default constructors.
  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
  CharsetToolkit | Utility class to guess the encoding of a given text file.
  ClosureComparator<T> | A Comparator which uses a closure to compare 2 values being equal
  ConfigObject | A ConfigObject at a simple level is a Map that creates configuration entries (other ConfigObjects) when referencing them.
  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.
  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.
  GroovyScriptEngine | Specific script engine able to reload modified scripts as well as dealing properly with dependent scripts.
  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.
  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. Each node defines the class to be created and the property on its parent (if any) at the same time.
  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.
  ObservableList | List decorator that will trigger PropertyChangeEvents when a value changes. An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
  ObservableList.ElementAddedEvent |
  ObservableList.ElementClearedEvent |
  ObservableList.ElementEvent |
  ObservableList.ElementRemovedEvent |
  ObservableList.ElementUpdatedEvent |
  ObservableList.MultiElementAddedEvent |
  ObservableList.MultiElementRemovedEvent |
  ObservableMap | Map decorator that will trigger PropertyChangeEvents when a value changes. An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
  ObservableMap.MultiPropertyEvent |
  ObservableMap.PropertyAddedEvent |
  ObservableMap.PropertyClearedEvent |
  ObservableMap.PropertyEvent |
  ObservableMap.PropertyRemovedEvent |
  ObservableMap.PropertyUpdatedEvent |
  ObservableSet<E> | Set decorator that will trigger PropertyChangeEvents when a value changes. An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
  ObservableSet.ElementAddedEvent |
  ObservableSet.ElementClearedEvent |
  ObservableSet.ElementEvent |
  ObservableSet.ElementRemovedEvent |
  ObservableSet.MultiElementAddedEvent |
  ObservableSet.MultiElementRemovedEvent |
  OrderBy<T> | A helper class for sorting objects via a closure to return the field or operation on which to sort.
  PermutationGenerator<E> | 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.
  XmlNodePrinter | Prints a `groovy.util.Node` (as used with `XmlParser`) including all children in XML format.
  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 |

## Package groovy.util Description

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