org.codehaus.groovy.runtime.callsite

## Class PojoMetaMethodSite

- java.lang.Object
- - org.codehaus.groovy.runtime.callsite.AbstractCallSite
  - - org.codehaus.groovy.runtime.callsite.MetaClassSite
    - - org.codehaus.groovy.runtime.callsite.MetaMethodSite
      - - org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite

All Implemented Interfaces:
  CallSite

Direct Known Subclasses:
  NumberNumberMetaMethod.NumberNumberCallSite, PojoMetaMethodSite.PojoCachedMethodSite, PojoMetaMethodSite.PojoMetaMethodSiteNoUnwrap, PojoMetaMethodSite.PojoMetaMethodSiteNoUnwrapNoCoerce

    public class PojoMetaMethodSite
    extends MetaMethodSite

POJO call site meta class - cached method - cached

Author:
  Alex Tkachman

### Nested Class Summary

Nested Classes
`static class` `PojoMetaMethodSite.PojoCachedMethodSite`
`static class` `PojoMetaMethodSite.PojoCachedMethodSiteNoUnwrap`
`static class` `PojoMetaMethodSite.PojoCachedMethodSiteNoUnwrapNoCoerce`
`static class` `PojoMetaMethodSite.PojoMetaMethodSiteNoUnwrap` Call site where we know there is no need to unwrap arguments
`static class` `PojoMetaMethodSite.PojoMetaMethodSiteNoUnwrapNoCoerce` Call site where we know there is no need neither unwrap nor coerce arguments

### Field Summary

Fields
`protected int` `version`

### Fields inherited from class org.codehaus.groovy.runtime.callsite.MetaMethodSite

`params`

### Fields inherited from class org.codehaus.groovy.runtime.callsite.MetaClassSite

`metaClass`

### Fields inherited from class org.codehaus.groovy.runtime.callsite.AbstractCallSite

`array, index, name`

### Constructor Summary

Constructors
Constructor and Description
`PojoMetaMethodSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`java.lang.Object` `call(java.lang.Object receiver, java.lang.Object[] args)`
`protected boolean` `checkCall(java.lang.Object receiver)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object[] args)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)`
`protected boolean` `checkPojoMetaClass()`
`static CallSite` `createCachedMethodSite(CallSite site, MetaClassImpl metaClass, CachedMethod metaMethod, java.lang.Class[] params, java.lang.Object[] args)`
`static CallSite` `createNonAwareCallSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object[] args)`
`static CallSite` `createPojoMetaMethodSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
`java.lang.Object` `invoke(java.lang.Object receiver, java.lang.Object[] args)`

### Methods inherited from class org.codehaus.groovy.runtime.callsite.AbstractCallSite

`acceptGetProperty, acceptGroovyObjectGetProperty, call, call, call, call, call, callConstructor, callConstructor, callConstructor, callConstructor, callConstructor, callConstructor, callCurrent, callCurrent, callCurrent, callCurrent, callCurrent, callCurrent, callGetProperty, callGetPropertySafe, callGroovyObjectGetProperty, callGroovyObjectGetPropertySafe, callSafe, callSafe, callSafe, callSafe, callSafe, callSafe, callStatic, callStatic, callStatic, callStatic, callStatic, callStatic, createGetPropertySite, createGroovyObjectGetPropertySite, getArray, getIndex, getName, getProperty`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### version

    protected final int version

### Constructor Detail

#### PojoMetaMethodSite

    public PojoMetaMethodSite(CallSite site,
                              MetaClassImpl metaClass,
                              MetaMethod metaMethod,
                              java.lang.Class[] params)

### Method Detail

#### invoke

    public java.lang.Object invoke(java.lang.Object receiver,
                                   java.lang.Object[] args)
                            throws java.lang.Throwable

Throws:
  `java.lang.Throwable`

#### call

    public java.lang.Object call(java.lang.Object receiver,
                                 java.lang.Object[] args)
                          throws java.lang.Throwable

Specified by:
  `call` in interface `CallSite`
Overrides:
  `call` in class `AbstractCallSite`
Throws:
  `java.lang.Throwable`

#### checkPojoMetaClass

    protected final boolean checkPojoMetaClass()

#### checkCall

    protected final boolean checkCall(java.lang.Object receiver,
                                      java.lang.Object[] args)

#### checkCall

    protected final boolean checkCall(java.lang.Object receiver)

#### checkCall

    protected final boolean checkCall(java.lang.Object receiver,
                                      java.lang.Object arg1)

#### checkCall

    protected final boolean checkCall(java.lang.Object receiver,
                                      java.lang.Object arg1,
                                      java.lang.Object arg2)

#### checkCall

    protected final boolean checkCall(java.lang.Object receiver,
                                      java.lang.Object arg1,
                                      java.lang.Object arg2,
                                      java.lang.Object arg3)

#### checkCall

    protected final boolean checkCall(java.lang.Object receiver,
                                      java.lang.Object arg1,
                                      java.lang.Object arg2,
                                      java.lang.Object arg3,
                                      java.lang.Object arg4)

#### createPojoMetaMethodSite

    public static CallSite createPojoMetaMethodSite(CallSite site,
                                                    MetaClassImpl metaClass,
                                                    MetaMethod metaMethod,
                                                    java.lang.Class[] params,
                                                    java.lang.Object receiver,
                                                    java.lang.Object[] args)

#### createCachedMethodSite

    public static CallSite createCachedMethodSite(CallSite site,
                                                  MetaClassImpl metaClass,
                                                  CachedMethod metaMethod,
                                                  java.lang.Class[] params,
                                                  java.lang.Object[] args)

#### createNonAwareCallSite

    public static CallSite createNonAwareCallSite(CallSite site,
                                                  MetaClassImpl metaClass,
                                                  MetaMethod metaMethod,
                                                  java.lang.Class[] params,
                                                  java.lang.Object[] args)