## org.codehaus.groovy.runtime.metaclass
Class NormalMethodChooser

Field Summary
`FastArray` | `methods`
`Class` | `theClass`

Constructor Summary
`NormalMethodChooser(Class theClass, FastArray methods)`

Method Summary
`def` | `ClosureMetaClass(MetaClassRegistry registry, Class theClass)`
`void` | `addMetaBeanProperty(MetaBeanProperty mp)`
`void` | `addMetaMethod(MetaMethod method)`
`void` | `addNewInstanceMethod(Method method)`
`void` | `addNewStaticMethod(Method method)`
`void` | `assignMethodChooser()`
`Object` | `chooseMethod(def arguments, boolean coerce)`
`Object` | `chooseMostSpecificParams(String name, List matchingMethods, def arguments)`
`void` | `generateReflector()`
`Object` | `getAttribute(Class sender, Object object, String attribute, boolean useSuper, boolean fromInsideClass)`
`MetaMethod` | `getDelegateMethod(Closure closure, Object delegate, String methodName, def argClasses)`
`List` | `getMetaMethods()`
`MetaProperty` | `getMetaProperty(String name)`
`MetaMethod` | `getMethodWithoutCaching(Class sender, String methodName, def arguments, boolean isCallToSuper)`
`List` | `getMethods()`
`List` | `getProperties()`
`Object` | `getProperty(Class sender, Object object, String name, boolean useSuper, boolean fromInsideClass)`
`MetaMethod` | `getStaticMetaMethod(String name, def args)`
`MetaMethod` | `getStaticMetaMethod(String name, def argTypes)`
`void` | `initAttributes()`
`void` | `initialize()`
`Object` | `invokeConstructor(Class at, def arguments)`
`Object` | `invokeMethod(Class sender, Object object, String methodName, def originalArguments, boolean isCallToSuper, boolean fromInsideClass)`
`Object` | `invokeOnDelegationObjects(boolean invoke1, Object o1, boolean invoke2, Object o2, String methodName, def args)`
`Object` | `invokeStaticMethod(Object object, String methodName, def arguments)`
`boolean` | `isInitialized()`
`MetaClass` | `lookupObjectMetaClass(Object object)`
`def` | `makeArguments(def arguments, String methodName)`
`MetaMethod` | `pickClosureMethod(def argClasses)`
`MetaMethod` | `pickMethod(String name, def argTypes)`
`Constructor` | `retrieveConstructor(def arguments)`
`MetaMethod` | `retrieveStaticMethod(String methodName, def arguments)`
`void` | `setAttribute(Class sender, Object object, String attribute, Object newValue, boolean useSuper, boolean fromInsideClass)`
`void` | `setProperties(Object bean, Map map)`
`void` | `setProperty(Class sender, Object object, String name, Object newValue, boolean useSuper, boolean fromInsideClass)`
`void` | `unwrap(def arguments)`

Constructor Detail

### NormalMethodChooser

    public NormalMethodChooser(Class theClass, FastArray methods)

Method Detail

### ClosureMetaClass

    public def ClosureMetaClass(MetaClassRegistry registry, Class theClass)

### addMetaBeanProperty

    public void addMetaBeanProperty(MetaBeanProperty mp)

### addMetaMethod

    public void addMetaMethod(MetaMethod method)

### addNewInstanceMethod

    public void addNewInstanceMethod(Method method)

### addNewStaticMethod

    public void addNewStaticMethod(Method method)

### assignMethodChooser

    void assignMethodChooser()

### chooseMethod

    public Object chooseMethod(def arguments, boolean coerce)

### chooseMostSpecificParams

    Object chooseMostSpecificParams(String name, List matchingMethods, def arguments)

### generateReflector

    void generateReflector()

### getAttribute

    public Object getAttribute(Class sender, Object object, String attribute, boolean useSuper, boolean fromInsideClass)

### getDelegateMethod

    MetaMethod getDelegateMethod(Closure closure, Object delegate, String methodName, def argClasses)

### getMetaMethods

    public List getMetaMethods()

### getMetaProperty

    public MetaProperty getMetaProperty(String name)

### getMethodWithoutCaching

    public MetaMethod getMethodWithoutCaching(Class sender, String methodName, def arguments, boolean isCallToSuper)

### getMethods

    public List getMethods()

### getProperties

    public List getProperties()

### getProperty

    public Object getProperty(Class sender, Object object, String name, boolean useSuper, boolean fromInsideClass)

### getStaticMetaMethod

    public MetaMethod getStaticMetaMethod(String name, def args)

### getStaticMetaMethod

    public MetaMethod getStaticMetaMethod(String name, def argTypes)

### initAttributes

    void initAttributes()

### initialize

    public void initialize()

### invokeConstructor

    Object invokeConstructor(Class at, def arguments)

### invokeMethod

    public Object invokeMethod(Class sender, Object object, String methodName, def originalArguments, boolean isCallToSuper, boolean fromInsideClass)

### invokeOnDelegationObjects

    Object invokeOnDelegationObjects(boolean invoke1, Object o1, boolean invoke2, Object o2, String methodName, def args)

### invokeStaticMethod

    public Object invokeStaticMethod(Object object, String methodName, def arguments)

### isInitialized

    boolean isInitialized()

### lookupObjectMetaClass

    MetaClass lookupObjectMetaClass(Object object)

### makeArguments

    def makeArguments(def arguments, String methodName)

### pickClosureMethod

    MetaMethod pickClosureMethod(def argClasses)

### pickMethod

    public MetaMethod pickMethod(String name, def argTypes)

### retrieveConstructor

    public Constructor retrieveConstructor(def arguments)

### retrieveStaticMethod

    public MetaMethod retrieveStaticMethod(String methodName, def arguments)

### setAttribute

    public void setAttribute(Class sender, Object object, String attribute, Object newValue, boolean useSuper, boolean fromInsideClass)

### setProperties

    public void setProperties(Object bean, Map map)

### setProperty

    public void setProperty(Class sender, Object object, String name, Object newValue, boolean useSuper, boolean fromInsideClass)

### unwrap

    void unwrap(def arguments)