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

Modifier and Type
Method
Description
`Object`
`call(Object receiver, Object[] args)`
`protected final boolean`
`checkCall(Object receiver)`
`protected final boolean`
`checkCall(Object receiver, Object arg1)`
`protected final boolean`
`checkCall(Object receiver, Object[] args)`
`protected final boolean`
`checkCall(Object receiver, Object arg1, Object arg2)`
`protected final boolean`
`checkCall(Object receiver, Object arg1, Object arg2, Object arg3)`
`protected final boolean`
`checkCall(Object receiver, Object arg1, Object arg2, Object arg3, Object arg4)`
`protected final 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.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, Class[] params)

## Method Details

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