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

  `VM_PLUGIN`

  ### 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, java.lang.Class[] params)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `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.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 Details

  - ### version

    protected final int version

- ## Constructor Details

  - ### PojoMetaMethodSite

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

- ## Method Details

  - ### 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)