Package 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.PlainObjectMetaMethodSite
        - - 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 PlainObjectMetaMethodSite

  POJO call site meta class - cached method - cached

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `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
    Modifier and Type | Field | Description
    --- | --- | ---
    `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 | Description
    --- | ---
    `PojoMetaMethodSite​(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, Class[] params)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `call​(Object receiver, Object[] args)` |
    `protected boolean` | `checkCall​(Object receiver)` |
    `protected boolean` | `checkCall​(Object receiver, Object arg1)` |
    `protected boolean` | `checkCall​(Object receiver, Object[] args)` |
    `protected boolean` | `checkCall​(Object receiver, Object arg1, Object arg2)` |
    `protected boolean` | `checkCall​(Object receiver, Object arg1, Object arg2, Object arg3)` |
    `protected boolean` | `checkCall​(Object receiver, Object arg1, Object arg2, Object arg3, Object arg4)` |
    `protected boolean` | `checkPojoMetaClass()` |
    `static CallSite` | `createCachedMethodSite​(CallSite site, MetaClassImpl metaClass, CachedMethod metaMethod, Class[] params, Object[] args)` |
    `static CallSite` | `createNonAwareCallSite​(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, Class[] params, Object[] args)` |
    `static CallSite` | `createPojoMetaMethodSite​(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, Class[] params, Object receiver, Object[] args)` |
    `Object` | `invoke​(Object receiver, Object[] args)` |

    - ### Methods inherited from class org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite

      `doInvoke`

    - ### 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,
                                    Class[] params)

  - ### Method Detail

    - #### invoke

          public Object invoke​(Object receiver,
                               Object[] args)
                        throws Throwable

      Throws:
        `Throwable`

    - #### call

          public Object call​(Object receiver,
                             Object[] args)
                      throws Throwable

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

    - #### checkPojoMetaClass

          protected final boolean checkPojoMetaClass()

    - #### checkCall

          protected final boolean checkCall​(Object receiver,
                                            Object[] args)

    - #### checkCall

          protected final boolean checkCall​(Object receiver)

    - #### checkCall

          protected final boolean checkCall​(Object receiver,
                                            Object arg1)

    - #### checkCall

          protected final boolean checkCall​(Object receiver,
                                            Object arg1,
                                            Object arg2)

    - #### checkCall

          protected final boolean checkCall​(Object receiver,
                                            Object arg1,
                                            Object arg2,
                                            Object arg3)

    - #### checkCall

          protected final boolean checkCall​(Object receiver,
                                            Object arg1,
                                            Object arg2,
                                            Object arg3,
                                            Object arg4)

    - #### createPojoMetaMethodSite

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

    - #### createCachedMethodSite

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

    - #### createNonAwareCallSite

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