Example usage for org.springframework.data.gemfire.util ArrayUtils insert

List of usage examples for org.springframework.data.gemfire.util ArrayUtils insert

Introduction

In this page you can find the example usage for org.springframework.data.gemfire.util ArrayUtils insert.

Prototype

public static Object[] insert(Object[] originalArray, int position, Object element) 

Source Link

Document

Insert an element into the given array at position (index).

Usage

From source file:org.springframework.data.gemfire.function.FunctionContextInjectingArgumentResolver.java

@Override
public Object[] resolveFunctionArguments(FunctionContext functionContext) {
    Object[] args = super.resolveFunctionArguments(functionContext);

    if (functionContext instanceof RegionFunctionContext) {
        if (this.regionParameterPosition >= 0) {
            args = ArrayUtils.insert(args, regionParameterPosition,
                    getRegionForContext((RegionFunctionContext) functionContext));
        }/*from  ww w . j ava2s . co  m*/

        if (this.filterParameterPosition >= 0) {
            args = ArrayUtils.insert(args, filterParameterPosition,
                    ((RegionFunctionContext) functionContext).getFilter());
        }
    }

    if (this.functionContextParameterPosition >= 0) {
        args = ArrayUtils.insert(args, functionContextParameterPosition, functionContext);
    }

    if (this.resultSenderParameterPosition >= 0) {
        args = ArrayUtils.insert(args, resultSenderParameterPosition, functionContext.getResultSender());
    }

    Assert.isTrue(args.length == method.getParameterTypes().length,
            String.format("wrong number of arguments for method %s. Expected %d, but was %d", method.getName(),
                    method.getParameterTypes().length, args.length));

    return args;
}