Groovy JDK

## java.lang
Class Object

Method Summary
`void` | `addShutdownHook(Closure closure)` Allows the usage of addShutdownHook without getting the runtime first.
`boolean` | `any(Closure closure)` Iterates over the contents of an object or collection, and checks whether a predicate is valid for at least one element.
`boolean` | `any()` Iterates over the elements of a collection, and checks whether at least one element is true according to the Groovy Truth.
`boolean` | `asBoolean()` Coerce an object instance to a boolean value.
`Object` | `asType(Class type)` Converts a given object to a type.
`List` | `collect(Closure closure)` Iterates through this object transforming each value into a new value using the closure as a transformer, returning a list of transformed values.
`Collection` | `collect(Collection collection, Closure closure)` Iterates through this object transforming each object into a new value using the closure as a transformer and adding it to the collection, returning the resulting collection.
`String` | `dump()` Generates a detailed dump string of an object showing its class, hashCode and fields.
`Object` | `each(Closure closure)` Iterates through an aggregate type or data structure, passing each item to the given closure.
`Object` | `eachWithIndex(Closure closure)` Iterates through an aggregate type or data structure, passing each item and the item's index (a counter starting at zero) to the given closure.
`boolean` | `every(Closure closure)` Used to determine if the given predicate closure is valid (i.e.
`boolean` | `every()` Iterates over every element of a collection, and checks whether all elements are `true` according to the Groovy Truth.
`Object` | `find(Closure closure)` Finds the first value matching the closure condition
`Collection` | `findAll(Closure closure)` Finds all items matching the closure condition.
`int` | `findIndexOf(Closure closure)` Iterates over the elements of an iterable collection of items and returns the index of the first item that matches the condition specified in the closure.
`int` | `findIndexOf(int startIndex, Closure closure)` Iterates over the elements of an iterable collection of items, starting from a specified startIndex, and returns the index of the first item that matches the condition specified in the closure.
`List` | `findIndexValues(Closure closure)` Iterates over the elements of an iterable collection of items and returns the index values of the items that match the condition specified in the closure.
`List` | `findIndexValues(Number startIndex, Closure closure)` Iterates over the elements of an iterable collection of items, starting from a specified startIndex, and returns the index values of the items that match the condition specified in the closure.
`int` | `findLastIndexOf(Closure closure)` Iterates over the elements of an iterable collection of items and returns the index of the last item that matches the condition specified in the closure.
`int` | `findLastIndexOf(int startIndex, Closure closure)` Iterates over the elements of an iterable collection of items, starting from a specified startIndex, and returns the index of the last item that matches the condition specified in the closure.
`Object` | `findResult(Object defaultResult, Closure closure)` Iterates through the object and returns the first non-null result from the closure, otherwise returns the defaultResult
`Object` | `findResult(Closure closure)` Iterates through the object and returns the first non-null result from the closure
`Object` | `getAt(String property)` Allows the subscript operator to be used to lookup dynamic property values.
`MetaClass` | `getMetaClass()` Obtains a MetaClass for an object either from the registry or in the case of a GroovyObject from the object itself.
`List` | `getMetaPropertyValues()` Retrieves the list of MetaProperty objects for 'self' and wraps it in a list of PropertyValue objects that additionally provide the value for each property of 'self'.
`Map` | `getProperties()` Convenience method that calls Object#getMetaPropertyValues(self) and provides the data in form of simple key/value pairs, i.e.
`Collection` | `grep(Object filter)` Iterates over every element of the collection and returns each item that matches the given filter - calling the `Object#isCase` method used by switch statements.
`MetaProperty` | `hasProperty(String name)` Returns true of the implementing MetaClass has a property of the given name Note that this method will only return true for realised properties and does not take into account implementation of getProperty or propertyMissing
`Object` | `identity(Closure closure)` Allows the closure to be called for the object reference self synonym for 'with()'.
`Object` | `inject(Object value, Closure closure)` Iterates through the given Object, passing in the initial value to the closure along with the first item.
`String` | `inspect()` Inspects returns the String that matches what would be typed into a terminal to create this object.
`Object` | `invokeMethod(String method, Object arguments)` Provide a dynamic method invocation method which can be overloaded in classes to implement dynamic proxies easily.
`boolean` | `is(Object other)` Identity check.
`boolean` | `isCase(Object switchValue)` Method for overloading the behavior of the 'case' method in switch statements.
`Iterator` | `iterator()` Attempts to create an Iterator for the given object by first converting it to a Collection.
`MetaClass` | `metaClass(Closure closure)` Sets/updates the metaclass for a given object to a closure.
`void` | `print(Object value)` Print a value formatted Groovy style to self if it is a Writer, otherwise to the standard output stream.
`void` | `print(PrintWriter out)` Print to a console in interactive format.
`void` | `printf(String format, Object[] values)` Printf to a console (Only works with JDK1.5 or later).
`void` | `printf(String format, Object arg)` Prints a formatted string using the specified format string and arguments.
`void` | `println()` Print a linebreak to the standard output stream.
`void` | `println(Object value)` Print a value formatted Groovy style (followed by a newline) to self if it is a Writer, otherwise to the standard output stream.
`void` | `println(PrintWriter out)` Print to a console in interactive format.
`void` | `putAt(String property, Object newValue)` Allows the subscript operator to be used to set dynamically named property values.
`List` | `respondsTo(String name, Object[] argTypes)` Returns an object satisfying Groovy truth if the implementing MetaClass responds to a method with the given name and arguments types.
`List` | `respondsTo(String name)` Returns an object satisfying Groovy truth if the implementing MetaClass responds to a method with the given name regardless of the arguments.
`void` | `setMetaClass(MetaClass metaClass)` Set the metaclass for an object
`static void` | `sleep(long milliseconds)` Sleep for so many milliseconds, even if interrupted.
`static void` | `sleep(long milliseconds, Closure onInterrupt)` Sleep for so many milliseconds, using a given closure for interrupt processing.
`Collection` | `split(Closure closure)` Splits all items into two lists based on the closure condition.
`String` | `sprintf(String format, Object[] values)` Sprintf to a string (Only works with JDK1.5 or later).
`String` | `sprintf(String format, Object arg)` Returns a formatted string using the specified format string and arguments.
`String` | `toString()` Create a String representation of this object.
`Object` | `use(Class categoryClass, Closure closure)` Scoped use method
`Object` | `use(List categoryClassList, Closure closure)` Scoped use method with list of categories.
`Object` | `use(Object[] array)` Allows you to use a list of categories, specifying the list as varargs.
`Object` | `with(Closure closure)` Allows the closure to be called for the object reference self

Method Detail

### addShutdownHook

    public void addShutdownHook(Closure closure)

  Allows the usage of addShutdownHook without getting the runtime first.

Parameters:
  `closure` - the shutdown hook action.

Since:
  1.5.0

### any

    public boolean any(Closure closure)

  Iterates over the contents of an object or collection, and checks whether a predicate is valid for at least one element.

Parameters:
  `closure` - the closure predicate used for matching.

Returns:
  true if any iteration for the object matches the closure predicate

Since:
  1.0

### any

    public boolean any()

  Iterates over the elements of a collection, and checks whether at least one element is true according to the Groovy Truth. Equivalent to self.any({element -> element})

Returns:
  true if any item in the collection matches the closure predicate

Since:
  1.5.0

### asBoolean

    public boolean asBoolean()

  Coerce an object instance to a boolean value. An object is coerced to true if it's not null, to false if it is null.

Returns:
  the boolean value

Since:
  1.7.0

### asType

    public Object asType(Class type)

  Converts a given object to a type. This method is used through the "as" operator and is overloadable as any other operator.

Parameters:
  `type` - the goal type.

Returns:
  the resulting object

Since:
  1.0

### collect

    public List collect(Closure closure)

  Iterates through this object transforming each value into a new value using the closure as a transformer, returning a list of transformed values. Example:

      def list = [1, 'a', 1.23, true ]
      def types = list.collect { it.class }
      assert types == [Integer, String, BigDecimal, Boolean]

Parameters:
  `closure` - the closure used to transform each element of the collection.

Returns:
  a List of the transformed values

Since:
  1.0

### collect

    public Collection collect(Collection collection, Closure closure)

  Iterates through this object transforming each object into a new value using the closure as a transformer and adding it to the collection, returning the resulting collection.

Parameters:
  `collection` - the Collection to which the transformed values are added.
  `closure` - the closure used to map each element of the collection.

Returns:
  the given collection after the transformed values are added

Since:
  1.0

### dump

    public String dump()

  Generates a detailed dump string of an object showing its class, hashCode and fields.

Returns:
  the dump representation

Since:
  1.0

### each

    public Object each(Closure closure)

  Iterates through an aggregate type or data structure, passing each item to the given closure. Custom types may utilize this method by simply providing an "iterator()" method. The items returned from the resulting iterator will be passed to the closure.

Parameters:
  `closure` - the closure applied on each element found.

Returns:
  the self Object

Since:
  1.0

### eachWithIndex

    public Object eachWithIndex(Closure closure)

  Iterates through an aggregate type or data structure, passing each item and the item's index (a counter starting at zero) to the given closure.

Parameters:
  `closure` - a Closure to operate on each item.

Returns:
  the self Object

Since:
  1.0

### every

    public boolean every(Closure closure)

  Used to determine if the given predicate closure is valid (i.e.&nsbp;returns `true` for all items in this data structure). A simple example for a list:

      def list = [3,4,5]
      def greaterThanTwo = list.every { it > 2 }

Parameters:
  `closure` - the closure predicate used for matching.

Returns:
  true if every iteration of the object matches the closure predicate

Since:
  1.0

### every

    public boolean every()

  Iterates over every element of a collection, and checks whether all elements are `true` according to the Groovy Truth. Equivalent to `self.every({element -> element})`

Returns:
  true if every item in the collection matches the closure predicate

Since:
  1.5.0

### find

    public Object find(Closure closure)

  Finds the first value matching the closure condition

Parameters:
  `closure` - a closure condition.

Returns:
  the first Object found

Since:
  1.0

### findAll

    public Collection findAll(Closure closure)

  Finds all items matching the closure condition.

Parameters:
  `closure` - a closure condition.

Returns:
  a List of the values found

Since:
  1.6.0

### findIndexOf

    public int findIndexOf(Closure closure)

  Iterates over the elements of an iterable collection of items and returns the index of the first item that matches the condition specified in the closure.

Parameters:
  `closure` - the filter to perform a match on the collection.

Returns:
  an integer that is the index of the first matched object or -1 if no match was found

Since:
  1.0

### findIndexOf

    public int findIndexOf(int startIndex, Closure closure)

  Iterates over the elements of an iterable collection of items, starting from a specified startIndex, and returns the index of the first item that matches the condition specified in the closure.

Parameters:
  `startIndex` - start matching from this index.
  `closure` - the filter to perform a match on the collection.

Returns:
  an integer that is the index of the first matched object or -1 if no match was found

Since:
  1.5.0

### findIndexValues

    public List findIndexValues(Closure closure)

  Iterates over the elements of an iterable collection of items and returns the index values of the items that match the condition specified in the closure.

Parameters:
  `closure` - the filter to perform a match on the collection.

Returns:
  a list of numbers corresponding to the index values of all matched objects

Since:
  1.5.2

### findIndexValues

    public List findIndexValues(Number startIndex, Closure closure)

  Iterates over the elements of an iterable collection of items, starting from a specified startIndex, and returns the index values of the items that match the condition specified in the closure.

Parameters:
  `startIndex` - start matching from this index.
  `closure` - the filter to perform a match on the collection.

Returns:
  a list of numbers corresponding to the index values of all matched objects

Since:
  1.5.2

### findLastIndexOf

    public int findLastIndexOf(Closure closure)

  Iterates over the elements of an iterable collection of items and returns the index of the last item that matches the condition specified in the closure.

Parameters:
  `closure` - the filter to perform a match on the collection.

Returns:
  an integer that is the index of the last matched object or -1 if no match was found

Since:
  1.5.2

### findLastIndexOf

    public int findLastIndexOf(int startIndex, Closure closure)

  Iterates over the elements of an iterable collection of items, starting from a specified startIndex, and returns the index of the last item that matches the condition specified in the closure.

Parameters:
  `startIndex` - start matching from this index.
  `closure` - the filter to perform a match on the collection.

Returns:
  an integer that is the index of the last matched object or -1 if no match was found

Since:
  1.5.2

### findResult

    public Object findResult(Object defaultResult, Closure closure)

  Iterates through the object and returns the first non-null result from the closure, otherwise returns the defaultResult

Parameters:
  `defaultResult` - an Object that should be returned if all closure results are null.
  `closure` - a closure that returns a non-null value when processing should stop.

Returns:
  the first non-null result of the closure, otherwise the default value

Since:
  1.7.5

### findResult

    public Object findResult(Closure closure)

  Iterates through the object and returns the first non-null result from the closure

Parameters:
  `closure` - a closure that returns a non-null value when processing should stop.

Returns:
  the first non-null result of the closure

Since:
  1.7.5

### getAt

    public Object getAt(String property)

  Allows the subscript operator to be used to lookup dynamic property values. `bean[somePropertyNameExpression]`. The normal property notation of groovy is neater and more concise but only works with compile-time known property names.

Parameters:
  `property` - the property name of interest.

Returns:
  the property value

Since:
  1.0

### getMetaClass

    public MetaClass getMetaClass()

  Obtains a MetaClass for an object either from the registry or in the case of a GroovyObject from the object itself.

Returns:
  The MetaClass

Since:
  1.5.0

### getMetaPropertyValues

    public List getMetaPropertyValues()

  Retrieves the list of MetaProperty objects for 'self' and wraps it in a list of PropertyValue objects that additionally provide the value for each property of 'self'.

Returns:
  list of {@link groovy.lang.PropertyValue} objects

Since:
  1.0

See:
  Expando#getMetaPropertyValues.

### getProperties

    public Map getProperties()

  Convenience method that calls Object#getMetaPropertyValues(self) and provides the data in form of simple key/value pairs, i.e.&nsbp;without type() information.

Returns:
  meta properties as Map of key/value pairs

Since:
  1.0

### grep

    public Collection grep(Object filter)

  Iterates over every element of the collection and returns each item that matches the given filter - calling the `Object#isCase` method used by switch statements. This method can be used with different kinds of filters like regular expressions, classes, ranges etc. Example:

      def list = ['a', 'b', 'aa', 'bc' ]
      def filtered = list.grep( ~/a+/ ) //contains 'a' and 'aa'

Parameters:
  `filter` - the filter to perform on the object (using the Object#isCase method).

Returns:
  a collection of objects which match the filter

Since:
  1.5.6

### hasProperty

    public MetaProperty hasProperty(String name)

  Returns true of the implementing MetaClass has a property of the given name

  Note that this method will only return true for realised properties and does not take into account implementation of getProperty or propertyMissing

Parameters:
  `name` - The name of the property of interest.

Returns:
  The found MetaProperty or null if it doesn't exist

Since:
  1.6.1

See:
  MetaObjectProtocol#hasProperty.

### identity

    public Object identity(Closure closure)

  Allows the closure to be called for the object reference self synonym for 'with()'.

Parameters:
  `closure` - the closure to call on the object.

Returns:
  result of calling the closure

Since:
  1.0

### inject

    public Object inject(Object value, Closure closure)

  Iterates through the given Object, passing in the initial value to the closure along with the first item. The result is passed back (injected) into the closure along with the second item. The new result is injected back into the closure along with the third item and so on until further iteration of the object is not possible. Also known as foldLeft in functional parlance.

Parameters:
  `value` - a value.
  `closure` - a closure.

Returns:
  the last value of the last iteration

Since:
  1.5.0

### inspect

    public String inspect()

  Inspects returns the String that matches what would be typed into a terminal to create this object.

Returns:
  a String that matches what would be typed into a terminal to create this object. e.g. [1, 'hello'].inspect() -> [1, "hello"]

Since:
  1.0

### invokeMethod

    public Object invokeMethod(String method, Object arguments)

  Provide a dynamic method invocation method which can be overloaded in classes to implement dynamic proxies easily.

Parameters:
  `method` - the name of the method to call.
  `arguments` - the arguments to use.

Returns:
  the result of the method call

Since:
  1.0

### is

    public boolean is(Object other)

  Identity check. Since == is overridden in Groovy with the meaning of equality we need some fallback to check for object identity. Invoke using the 'is' method, like so: `def same = this.is(that)`

Parameters:
  `other` - an object to compare identity with.

Returns:
  true if self and other are both references to the same instance, false otherwise

Since:
  1.0

### isCase

    public boolean isCase(Object switchValue)

  Method for overloading the behavior of the 'case' method in switch statements. The default implementation handles arrays types but otherwise simply delegates to Object#equals, but this may be overridden for other types. In this example:

       switch( a ) {
        case b: //some code
      }

  "some code" is called when `b.isCase( a )` returns `true`.

Parameters:
  `switchValue` - the switch value.

Returns:
  true if the switchValue is deemed to be equal to the caseValue

Since:
  1.0

### iterator

    public Iterator iterator()

  Attempts to create an Iterator for the given object by first converting it to a Collection.

Returns:
  an Iterator for the given Object.

Since:
  1.0

See:
  DefaultTypeTransformation#asCollection.

### metaClass

    public MetaClass metaClass(Closure closure)

  Sets/updates the metaclass for a given object to a closure.

Parameters:
  `closure` - the closure representing the new metaclass.

Returns:
  the new metaclass value

Since:
  1.6.0

### print

    public void print(Object value)

  Print a value formatted Groovy style to self if it is a Writer, otherwise to the standard output stream.

Parameters:
  `value` - the value to print.

Since:
  1.0

### print

    public void print(PrintWriter out)

  Print to a console in interactive format.

Parameters:
  `out` - the PrintWriter used for printing.

Since:
  1.0

### printf

    public void printf(String format, Object[] values)

  Printf to a console (Only works with JDK1.5 or later).

Parameters:
  `format` - a format string.
  `values` - values referenced by the format specifiers in the format string..

Since:
  1.0

### printf

    public void printf(String format, Object arg)

  Prints a formatted string using the specified format string and arguments.

  For examples,

          printf ( "Hello, %s!\n" , [ "world" ] as String[] )
          printf ( "Hello, %s!\n" , [ "Groovy" ])
          printf ( "%d + %d = %d\n" , [ 1 , 2 , 1+2 ] as Integer[] )
          printf ( "%d + %d = %d\n" , [ 3 , 3 , 3+3 ])

          ( 1..5 ).each { printf ( "-- %d\n" , [ it ] as Integer[] ) }
          ( 1..5 ).each { printf ( "-- %d\n" , [ it ] as int[] ) }
          ( 0x41..0x45 ).each { printf ( "-- %c\n" , [ it ] as char[] ) }
          ( 07..011 ).each { printf ( "-- %d\n" , [ it ] as byte[] ) }
          ( 7..11 ).each { printf ( "-- %d\n" , [ it ] as short[] ) }
          ( 7..11 ).each { printf ( "-- %d\n" , [ it ] as long[] ) }
          ( 7..11 ).each { printf ( "-- %5.2f\n" , [ it ] as float[] ) }
          ( 7..11 ).each { printf ( "-- %5.2g\n" , [ it ] as double[] ) }

Parameters:
  `format` - A format string.
  `arg` - Argument which is referenced by the format specifiers in the format string. The type of `arg` should be one of Object[], List, int[], short[], byte[], char[], boolean[], long[], float[], or double[]..

Since:
  1.0

### println

    public void println()

  Print a linebreak to the standard output stream.

Since:
  1.0

### println

    public void println(Object value)

  Print a value formatted Groovy style (followed by a newline) to self if it is a Writer, otherwise to the standard output stream.

Parameters:
  `value` - the value to print.

Since:
  1.0

### println

    public void println(PrintWriter out)

  Print to a console in interactive format.

Parameters:
  `out` - the PrintWriter used for printing.

Since:
  1.0

### putAt

    public void putAt(String property, Object newValue)

  Allows the subscript operator to be used to set dynamically named property values. `bean[somePropertyNameExpression] = foo`. The normal property notation of groovy is neater and more concise but only works with property names which are known at compile time.

Parameters:
  `property` - the name of the property to set.
  `newValue` - the value to set.

Since:
  1.0

### respondsTo

    public List respondsTo(String name, Object[] argTypes)

  Returns an object satisfying Groovy truth if the implementing MetaClass responds to a method with the given name and arguments types.

  Note that this method's return value is based on realised methods and does not take into account objects or classes that implement invokeMethod or methodMissing

  This method is "safe" in that it will always return a value and never throw an exception

Parameters:
  `name` - The name of the method of interest.
  `argTypes` - The argument types to match against.

Returns:
  A List of MetaMethods matching the argument types which will be empty if no matching methods exist

Since:
  1.6.0

See:
  MetaObjectProtocol#respondsTo.

### respondsTo

    public List respondsTo(String name)

  Returns an object satisfying Groovy truth if the implementing MetaClass responds to a method with the given name regardless of the arguments.

  Note that this method's return value is based on realised methods and does not take into account objects or classes that implement invokeMethod or methodMissing

  This method is "safe" in that it will always return a value and never throw an exception

Parameters:
  `name` - The name of the method of interest.

Returns:
  A List of MetaMethods matching the given name or an empty list if no matching methods exist

Since:
  1.6.1

See:
  MetaObjectProtocol#respondsTo.

### setMetaClass

    public void setMetaClass(MetaClass metaClass)

  Set the metaclass for an object

Parameters:
  `metaClass` - the new metaclass value.

Since:
  1.6.0

### sleep

    public static void sleep(long milliseconds)

  Sleep for so many milliseconds, even if interrupted.

Parameters:
  `milliseconds` - the number of milliseconds to sleep.

Since:
  1.0

### sleep

    public static void sleep(long milliseconds, Closure onInterrupt)

  Sleep for so many milliseconds, using a given closure for interrupt processing.

Parameters:
  `milliseconds` - the number of milliseconds to sleep.
  `onInterrupt` - interrupt handler, InterruptedException is passed to the Closure as long as it returns false, the sleep continues.

Since:
  1.0

### split

    public Collection split(Closure closure)

  Splits all items into two lists based on the closure condition. The first list contains all items matching the closure expression. The second list all those that don't.

Parameters:
  `closure` - a closure condition.

Returns:
  a List containing whose first item is the accepted values and whose second item is the rejected values

Since:
  1.6.0

### sprintf

    public String sprintf(String format, Object[] values)

  Sprintf to a string (Only works with JDK1.5 or later).

Parameters:
  `format` - a format string.
  `values` - values referenced by the format specifiers in the format string..

Returns:
  the resulting formatted string

Since:
  1.5.0

### sprintf

    public String sprintf(String format, Object arg)

  Returns a formatted string using the specified format string and arguments.

Parameters:
  `format` - A format string.
  `arg` - Argument which is referenced by the format specifiers in the format string. The type of `arg` should be one of Object[], List, int[], short[], byte[], char[], boolean[], long[], float[], or double[]..

Returns:
  the resulting printf'd string

Since:
  1.5.0

### toString

    public String toString()

  Create a String representation of this object.

Returns:
  a string.

Since:
  1.0

### use

    public Object use(Class categoryClass, Closure closure)

  Scoped use method

Parameters:
  `categoryClass` - a category class to use.
  `closure` - the closure to invoke with the category in place.

Returns:
  the value returned from the closure

Since:
  1.0

### use

    public Object use(List categoryClassList, Closure closure)

  Scoped use method with list of categories.

Parameters:
  `categoryClassList` - a list of category classes.
  `closure` - the closure to invoke with the categories in place.

Returns:
  the value returned from the closure

Since:
  1.0

### use

    public Object use(Object[] array)

  Allows you to use a list of categories, specifying the list as varargs. `use(CategoryClass1, CategoryClass2) { ... }` This method saves having to wrap the the category classes in a list.

Parameters:
  `array` - a list of category classes and a Closure.

Returns:
  the value returned from the closure

Since:
  1.0

### with

    public Object with(Closure closure)

  Allows the closure to be called for the object reference self

Parameters:
  `closure` - the closure to call on the object.

Returns:
  result of calling the closure

Since:
  1.5.0

Groovy JDK