Class PojoFunctionWrapper

java.lang.Object
org.springframework.data.gemfire.function.PojoFunctionWrapper
All Implemented Interfaces:
Serializable, org.apache.geode.cache.execute.Function, org.apache.geode.lang.Identifiable

public class PojoFunctionWrapper extends Object implements org.apache.geode.cache.execute.Function
Invokes a given POJO Method as a (remote) GemFire/Geode Function. If the POJO has a constructor that takes a Map, and the Function context is a Region, the Region will be injected. The delegate class name, the method name, and Method arguments are part of the Function invocation, therefore all arguments must be Serializable or an alternate serialization strategy must be used. The delegate Class must be on the class path of the remote cache(s).
Since:
1.2.0
See Also:
  • Constructor Details

    • PojoFunctionWrapper

      public PojoFunctionWrapper(Object target, Method method)
    • PojoFunctionWrapper

      public PojoFunctionWrapper(Object target, Method method, String id)
  • Method Details

    • newFunctionArgumentResolver

      protected org.springframework.data.gemfire.function.FunctionArgumentResolver newFunctionArgumentResolver(Method method)
    • resolveHasResult

      protected boolean resolveHasResult(Method method)
    • resolveId

      protected String resolveId(Method method, String id)
    • setBatchSize

      public void setBatchSize(int batchSize)
    • getBatchSize

      public int getBatchSize()
    • setHA

      public void setHA(boolean HA)
    • isHA

      public boolean isHA()
      Specified by:
      isHA in interface org.apache.geode.cache.execute.Function
    • setHasResult

      public void setHasResult(boolean hasResult)
    • hasResult

      public boolean hasResult()
      Specified by:
      hasResult in interface org.apache.geode.cache.execute.Function
    • getId

      public String getId()
      Specified by:
      getId in interface org.apache.geode.cache.execute.Function
      Specified by:
      getId in interface org.apache.geode.lang.Identifiable
    • setOptimizeForWrite

      public void setOptimizeForWrite(boolean optimizeForWrite)
    • optimizeForWrite

      public boolean optimizeForWrite()
      Specified by:
      optimizeForWrite in interface org.apache.geode.cache.execute.Function
    • setRequiredPermissions

      public void setRequiredPermissions(Collection<org.apache.geode.security.ResourcePermission> requiredPermissions)
    • getRequiredPermissions

      public Collection<org.apache.geode.security.ResourcePermission> getRequiredPermissions(String regionName)
      Specified by:
      getRequiredPermissions in interface org.apache.geode.cache.execute.Function
    • execute

      public void execute(org.apache.geode.cache.execute.FunctionContext functionContext)
      Specified by:
      execute in interface org.apache.geode.cache.execute.Function
    • invokeTargetMethod

      protected final Object invokeTargetMethod(Object[] args)