# Package groovy.util

package groovy.util

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

- Related Packages
  Package
  Description
  groovy.util.function
  Classes for functional interfaces.
  groovy.util.logging
  Logging framework integration via AST transformations.
  groovy.util.regex
- Class
  Description
  AbstractFactory
  Base `Factory` implementation with default no-op lifecycle hooks.
  BufferedIterator<T>
  An iterator that allows examining the next element without consuming it.
  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<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.
  Factory
  Defines lifecycle hooks used by `FactoryBuilderSupport` when creating nodes.
  FactoryBuilderSupport
  Mix of BuilderSupport and SwingBuilder's factory support.
  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.
  IFileNameFinder
  Locates file names matching Ant-style include and exclude patterns.
  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.
  Each node defines the class to be created and the property on its parent (if any) at the same time.
  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.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.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.
  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.ChangeType
  Enumerates the specialized list change events.
  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.
  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.ChangeType
  Enumerates the specialized map change events.
  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<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.ChangeType
  Enumerates the specialized set change events.
  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.
  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
  Generates 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.
  ResourceConnector
  Base interface for customizing where resources can be found for the `GroovyScriptEngine`.
  ResourceException
  Indicates a problem loading or accessing a resource.
  ScriptException
  Indicates an error while processing a script.