# 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
- Class
  Description
  AbstractFactory
  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
  FactoryBuilderSupport
  Mix of BuilderSupport and SwingBuilder's factory support.
  GroovyCollections
  GroovyScriptEngine
  Specific script engine able to reload modified scripts as well as dealing properly with dependent scripts.
  IFileNameFinder
  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.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
  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.ChangeType
  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.ChangeType
  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
  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
  ScriptException