APIdia Launch Partner
Top Inners Fields Constructors Methods
io.github.spannm.jackcess.impl.expr

public final Class FunctionSupport

extends Object
Class Inheritance
Imports
io.github.spannm.jackcess.expr.EvalContext, .EvalException, .Function, .LocaleContext, .Value, java.util.Arrays

Nested and Inner Type Summary

Modifier and TypeClass and Description
public abstract static class
public abstract static class
public abstract static class
public abstract static class
public abstract static class
public abstract static class
public abstract static class
public static class

Field Summary

Modifier and TypeField and Description
private static final char

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static boolean
public static double
getOptionalDoubleParam(EvalContext ctx, Value[] params, int idx, double defValue)

public static int
getOptionalIntParam(LocaleContext ctx, Value[] params, int idx, int defValue)

public static int
getOptionalIntParam(LocaleContext ctx, Value[] params, int idx, int defValue, int useDefValue)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

NON_VAR_SUFFIXback to summary
private static final char NON_VAR_SUFFIX

Constructor Detail

FunctionSupportback to summary
private FunctionSupport()

Method Detail

getOptionalBooleanParamback to summary
public static boolean getOptionalBooleanParam(LocaleContext ctx, Value[] params, int idx)
getOptionalDoubleParamback to summary
public static double getOptionalDoubleParam(EvalContext ctx, Value[] params, int idx, double defValue)
getOptionalIntParamback to summary
public static int getOptionalIntParam(LocaleContext ctx, Value[] params, int idx, int defValue)
getOptionalIntParamback to summary
public static int getOptionalIntParam(LocaleContext ctx, Value[] params, int idx, int defValue, int useDefValue)
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.BaseFunction

extends Object
implements Function
Class Inheritance
  • java.lang.Object
  • io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction
All Implemented Interfaces
io.github.spannm.jackcess.expr.Function
Known Direct Subclasses
io.github.spannm.jackcess.impl.expr.FunctionSupport.Func0, io.github.spannm.jackcess.impl.expr.FunctionSupport.Func1, io.github.spannm.jackcess.impl.expr.FunctionSupport.Func1NullIsNull, io.github.spannm.jackcess.impl.expr.FunctionSupport.Func2, io.github.spannm.jackcess.impl.expr.FunctionSupport.Func3, io.github.spannm.jackcess.impl.expr.FunctionSupport.FuncVar

Field Summary

Modifier and TypeField and Description
private final int
private final int
private final String

Constructor Summary

AccessConstructor and Description
protected
BaseFunction(String name, int minParams, int maxParams)

Method Summary

Modifier and TypeMethod and Description
public String
getName()

Implements io.github.spannm.jackcess.expr.Function.getName.

Returns the name of this function.

protected EvalException
public boolean
isPure()

Implements io.github.spannm.jackcess.expr.Function.isPure.

Returns true if this function is a "pure" function, false otherwise.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

protected void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

maxParamsback to summary
private final int maxParams
minParamsback to summary
private final int minParams
nameback to summary
private final String name

Constructor Detail

BaseFunctionback to summary
protected BaseFunction(String name, int minParams, int maxParams)

Method Detail

getNameback to summary
public String getName()

Implements io.github.spannm.jackcess.expr.Function.getName.

Doc from io.github.spannm.jackcess.expr.Function.getName.

Returns the name of this function.

Annotations
@Override
invalidFunctionCallback to summary
protected EvalException invalidFunctionCall(Throwable t, Value[] params)
isPureback to summary
public boolean isPure()

Implements io.github.spannm.jackcess.expr.Function.isPure.

Doc from io.github.spannm.jackcess.expr.Function.isPure.

Returns true if this function is a "pure" function, false otherwise. A pure function will always return the same result for a given set of parameters and has no side effects.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
validateNumParamsback to summary
protected void validateNumParams(Value[] params)
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.Func0

extends BaseFunction
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected
Func0(String name)

Method Summary

Modifier and TypeMethod and Description
public final Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

protected abstract Value
public boolean
isPure()

Overrides io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction.isPure.

Implements io.github.spannm.jackcess.expr.Function.isPure.

Returns true if this function is a "pure" function, false otherwise.

Inherited from io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction:
getNameinvalidFunctionCalltoStringvalidateNumParams

Constructor Detail

Func0back to summary
protected Func0(String name)

Method Detail

evalback to summary
public final Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
eval0back to summary
protected abstract Value eval0(EvalContext ctx)
isPureback to summary
public boolean isPure()

Overrides io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction.isPure.

Implements io.github.spannm.jackcess.expr.Function.isPure.

Doc from io.github.spannm.jackcess.expr.Function.isPure.

Returns true if this function is a "pure" function, false otherwise. A pure function will always return the same result for a given set of parameters and has no side effects.

Annotations
@Override
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.Func1

extends BaseFunction
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected
Func1(String name)

Method Summary

Modifier and TypeMethod and Description
public final Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

protected abstract Value
eval1(EvalContext ctx, Value param)

Inherited from io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction:
getNameinvalidFunctionCallisPuretoStringvalidateNumParams

Constructor Detail

Func1back to summary
protected Func1(String name)

Method Detail

evalback to summary
public final Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
eval1back to summary
protected abstract Value eval1(EvalContext ctx, Value param)
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.Func1NullIsNull

extends BaseFunction
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public final Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

protected abstract Value
eval1(EvalContext ctx, Value param)

Inherited from io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction:
getNameinvalidFunctionCallisPuretoStringvalidateNumParams

Constructor Detail

Func1NullIsNullback to summary
protected Func1NullIsNull(String name)

Method Detail

evalback to summary
public final Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
eval1back to summary
protected abstract Value eval1(EvalContext ctx, Value param)
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.Func2

extends BaseFunction
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected
Func2(String name)

Method Summary

Modifier and TypeMethod and Description
public final Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

protected abstract Value
eval2(EvalContext ctx, Value param1, Value param2)

Inherited from io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction:
getNameinvalidFunctionCallisPuretoStringvalidateNumParams

Constructor Detail

Func2back to summary
protected Func2(String name)

Method Detail

evalback to summary
public final Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
eval2back to summary
protected abstract Value eval2(EvalContext ctx, Value param1, Value param2)
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.Func3

extends BaseFunction
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected
Func3(String name)

Method Summary

Modifier and TypeMethod and Description
public final Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

protected abstract Value
eval3(EvalContext ctx, Value param1, Value param2, Value param3)

Inherited from io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction:
getNameinvalidFunctionCallisPuretoStringvalidateNumParams

Constructor Detail

Func3back to summary
protected Func3(String name)

Method Detail

evalback to summary
public final Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
eval3back to summary
protected abstract Value eval3(EvalContext ctx, Value param1, Value param2, Value param3)
io.github.spannm.jackcess.impl.expr back to summary

public abstract Class FunctionSupport.FuncVar

extends BaseFunction
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected
protected
FuncVar(String name, int minParams, int maxParams)

Method Summary

Modifier and TypeMethod and Description
public final Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

protected abstract Value
evalVar(EvalContext ctx, Value[] params)

Inherited from io.github.spannm.jackcess.impl.expr.FunctionSupport.BaseFunction:
getNameinvalidFunctionCallisPuretoStringvalidateNumParams

Constructor Detail

FuncVarback to summary
protected FuncVar(String name)
FuncVarback to summary
protected FuncVar(String name, int minParams, int maxParams)

Method Detail

evalback to summary
public final Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
evalVarback to summary
protected abstract Value evalVar(EvalContext ctx, Value[] params)
io.github.spannm.jackcess.impl.expr back to summary

public Class FunctionSupport.StringFuncWrapper

extends Object
implements Function
Class Inheritance
  • java.lang.Object
  • io.github.spannm.jackcess.impl.expr.FunctionSupport.StringFuncWrapper
All Implemented Interfaces
io.github.spannm.jackcess.expr.Function

Field Summary

Modifier and TypeField and Description
private final Function
private final String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Value
eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

public String
getName()

Implements io.github.spannm.jackcess.expr.Function.getName.

Returns the name of this function.

public boolean
isPure()

Implements io.github.spannm.jackcess.expr.Function.isPure.

Returns true if this function is a "pure" function, false otherwise.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

mdelegateback to summary
private final Function mdelegate
mnameback to summary
private final String mname

Constructor Detail

StringFuncWrapperback to summary
public StringFuncWrapper(Function _delegate)

Method Detail

evalback to summary
public Value eval(EvalContext ctx, Value... params)

Implements io.github.spannm.jackcess.expr.Function.eval.

Doc from io.github.spannm.jackcess.expr.Function.eval.

Evaluates this function within the given context with the given parameters.

Annotations
@Override
getNameback to summary
public String getName()

Implements io.github.spannm.jackcess.expr.Function.getName.

Doc from io.github.spannm.jackcess.expr.Function.getName.

Returns the name of this function.

Annotations
@Override
isPureback to summary
public boolean isPure()

Implements io.github.spannm.jackcess.expr.Function.isPure.

Doc from io.github.spannm.jackcess.expr.Function.isPure.

Returns true if this function is a "pure" function, false otherwise. A pure function will always return the same result for a given set of parameters and has no side effects.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override