# Package groovy.util

## Package groovy.util Description

Various Groovy utilities for working with nodes, builders, logging, and other things.

- Interface Summary
  Interface | Description
  --- | ---
  BufferedIterator | An iterator that allows examining the next element without consuming it.
  Factory | Defines lifecycle hooks used by FactoryBuilderSupport when creating nodes.
  IFileNameFinder | Locates file names matching Ant-style include and exclude patterns.
  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 | Base Factory implementation with default no-op lifecycle hooks.
  BuilderSupport | Base class for creating arbitrary nested trees of objects or events.
  CharsetToolkit | Utility class to guess the encoding of a given text file.
  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 |
  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.
  FileTreeBuilder | A builder dedicated at generating a file directory structure from a specification.
  GroovyCollections | Utility methods for working with combinations, subsequences, and aggregate collection operations.
  GroovyScriptEngine | Specific script engine able to reload modified scripts as well as dealing properly with dependent scripts.
  IndentPrinter | A helper class for printing indented text.
  Iterables | Provides some iterable based generators.
  Iterators | Provides some iterator based generators.
  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 | Event fired when one element is added.
  ObservableList.ElementClearedEvent | Event fired when the list is cleared.
  ObservableList.ElementEvent | Base event type for observable list content changes.
  ObservableList.ElementRemovedEvent | Event fired when one element is removed.
  ObservableList.ElementUpdatedEvent | Event fired when one element is updated.
  ObservableList.MultiElementAddedEvent | Event fired when multiple elements are added.
  ObservableList.MultiElementRemovedEvent | Event fired when multiple elements are removed.
  ObservableList.ObservableIterator | Iterator wrapper that reports removals as observable list events.
  ObservableList.ObservableListIterator | List iterator wrapper that routes mutations through ObservableList.
  ObservableMap | Map decorator that will trigger PropertyChangeEvents when a value changes.
  ObservableMap.MultiPropertyEvent | Event fired when multiple property changes are aggregated.
  ObservableMap.PropertyAddedEvent | Event fired when a property is added.
  ObservableMap.PropertyClearedEvent | Event fired when the map is cleared.
  ObservableMap.PropertyEvent | Base event type for observable map changes.
  ObservableMap.PropertyRemovedEvent | Event fired when a property is removed.
  ObservableMap.PropertyUpdatedEvent | Event fired when a property value changes.
  ObservableSet | Set decorator that will trigger PropertyChangeEvents when a value changes.
  ObservableSet.ElementAddedEvent | Event fired when one element is added.
  ObservableSet.ElementClearedEvent | Event fired when the set is cleared.
  ObservableSet.ElementEvent | Base event type for observable set content changes.
  ObservableSet.ElementRemovedEvent | Event fired when one element is removed.
  ObservableSet.MultiElementAddedEvent | Event fired when multiple elements are added.
  ObservableSet.MultiElementRemovedEvent | Event fired when multiple elements are removed.
  ObservableSet.ObservableIterator | Iterator wrapper that reports removals as observable set events.
  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 | Generates 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.

- Enum Summary
  Enum | Description
  --- | ---
  ObservableList.ChangeType | Enumerates the specialized list change events.
  ObservableMap.ChangeType | Enumerates the specialized map change events.
  ObservableSet.ChangeType | Enumerates the specialized set change events.

- Exception Summary
  Exception | Description
  --- | ---
  ResourceException | Indicates a problem loading or accessing a resource.
  ScriptException | Indicates an error while processing a script.