## Package groovy.lang

Core Groovy language classes for implementing data structures, closures, metadata and so forth.

See:
Description

Interface Summary
AdaptingMetaClass: An interface for MetaClass instances that "adapt" other MetaClass instances such as a proxy or delegating MetaClass
Buildable
ClosureInvokingMethod: An interface for MetaMethods that invoke closures to implements.
GroovyInterceptable: Marker interface used to notify that all methods should be intercepted through the `invokeMethod` mechanism of `GroovyObject`.
GroovyObject: The interface implemented by all Groovy objects.
GroovyResourceLoader: Allows frameworks that integrate with Groovy to determine how Groovy files are resolved.
Interceptor: Implementers of this interface can be registered in the ProxyMetaClass for notifications about method calls for objects managed by the ProxyMetaClass.
MetaClass: A MetaClass within Groovy defines the behaviour of any given Groovy or Java class.
MetaClassRegistry: A MetaClassRegistry is an object that is responsible for managing the a cache of MetaClass instances.
MetaObjectProtocol: An interface that defines the API usable by clients of Groovy's Meta Object Protocol (MOP).
MutableMetaClass: An interface that defines methods that implementors of mutable Meta classes should specifiy.
PropertyAccessInterceptor: An interface that adds the ability to intercept property getters/setters
Range: Represents the interface of a Range implementation which includes the from and to values.
Writable: Represents an object which is capable of writing itself to a text stream in a more efficient format than just creating a toString() representation of itself.

Class Summary
BenchmarkInterceptor: Interceptor that registers the timestamp of each method call before and after invocation.
Binding: Represents the variable bindings of a script which can be altered from outside the script object or created outside of a script and passed into it.
Closure: Represents any closure object in Groovy.
DelegatingMetaClass
EmptyRange: Constructing Ranges like 0..<0

ExpandoMetaClass

A MetaClass that implements GroovyObject and behaves like an Expando, allowing the addition of new methods on the fly `// defines or replaces instance method: metaClass.myMethod = { args -> } // defines a new instance method metaClass.myMethod << { args -> } // creates multiple overloaded methods of the same name metaClass.myMethod << { String s -> } << { Integer i -> } // defines or replaces a static method with the 'static' qualifier metaClass.'`

ExpandoMetaClassCreationHandle: A handle for the MetaClassRegistry that changes all classes loaded into the Grails VM to use ExpandoMetaClass instances The handle should be registered with the Groovy runtime before</before> Groovy loads, for example in your main method.
GroovyClassLoader: A ClassLoader which can load Groovy classes.
GroovyClassLoader.ClassCollector
GroovyClassLoader.InnerLoader
GroovyCodeSource: CodeSource wrapper class that allows specific security policies to be associated with a class compiled from groovy source.
GroovyObjectSupport: A useful base class for Java objects wishing to be Groovy objects
GroovyShell: Represents a groovy shell capable of running arbitrary groovy scripts
GroovySystem
GString: Represents a String which contains embedded values such as "hello there ${user} how are you?"
IntRange: Represents a list of Integer objects from a specified int up (or down) to and including a given to.
MetaArrayLengthProperty: Represents a property on a bean which may have a getter and/or a setter
MetaBeanProperty: Represents a property on a bean which may have a getter and/or a setter
MetaClassImpl: Allows methods to be dynamically added to existing classes at runtime
MetaClassImpl.Index
MetaClassRegistry.MetaClassCreationHandle: Class used as base for the creation of MetaClass implementations.
MetaExpandoProperty: Represents a property in an Expando object
MetaMethod: Represents a Method on a Java object a little like `Method` except without using reflection to invoke the method
MetaProperty: Represents a property on a bean which may have a getter and/or a setter
NonEmptySequence: Represents a sequence of objects which represents one or many instances of of objects of a given type.
ObjectRange: Represents an inclusive list of objects from a value to a value using comparators.
ParameterArray: Distinguish a parameter array from Object[].
PropertyValue
ProxyMetaClass: As subclass of MetaClass, ProxyMetaClass manages calls from Groovy Objects to POJOs.
Reference: Represents a reference to a value
Script: This object represents a Groovy script
Sequence: Represents a sequence of objects which represents zero or many instances of of objects of a given type.
SpreadMap: Represents a spreadable map which extends java.util.HashMap.
TracingInterceptor
Tuple: Represents a list of Integer objects from a specified int up to but not including a given and to.

Exception Summary
ClosureException: An exception thrown by a closure invocation
DeprecationException: Use this exception to mark a method implementation as being deprecated.
GroovyRuntimeException: An exception thrown by the interpreter
IllegalPropertyAccessException: An exception occurred if a dynamic property dispatch fails with a field not accessible.
IncorrectClosureArgumentsException: An exception occurred when invoking a Closure with the wrong number and/or types of arguments
MissingClassException: An exception occurred if a dynamic method dispatch fails with an unknown class.
MissingFieldException: An exception occurred if a dynamic field dispatch fails with an unknown field.
MissingMethodException: An exception occurred if a dynamic method dispatch fails with an unknown method.
MissingPropertyException: An exception occurred if a dynamic property dispatch fails with an unknown property.
ReadOnlyPropertyException: This exception is thrown if an attempt is made to set a read only property
SpreadListEvaluatingException
SpreadMapEvaluatingException
StringWriterIOException: An IO exception occurred trying to append to a StringWriter which should never happen.

## Package groovy.lang Description

Core Groovy language classes for implementing data structures, closures, metadata and so forth.

Copyright © 2003-2008 The Codehaus. All rights reserved.