Class BuiltInFunctions
java.lang.Object
org.casbin.jcasbin.util.BuiltInFunctions
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanallMatch determines whether key1 matches the pattern of key2 , key2 can contain a *.static booleaneval(String eval, Map<String, Object> env, com.googlecode.aviator.AviatorEvaluatorInstance aviatorEval) eval calculates the stringified boolean expression and return its result.static booleanglobMatch determines whether key1 matches the pattern of key2 in glob expression.static booleanipMatch determines whether IP address ip1 matches the pattern of IP address ip2, ip2 can be an IP address or a CIDR pattern.static StringkeyGet2Func(String key1, String key2, String pathVar) KeyGet2 returns value matched pattern.For example, "/resource1" matches "/:resource", if the pathVar == "resource", then "resource1" will be returned.static StringkeyGetFunc(String key1, String key2) KeyGet returns the matched part.static booleankeyMatch determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.static booleankeyMatch2 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.static booleankeyMatch3 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.static booleanKeyMatch4 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.static booleanKeyMatch5 determines whether key1 matches the pattern of key2 and ignores the parameters in key2.static booleanregexMatch(String key1, String key2) regexMatch determines whether key1 matches the pattern of key2 in regular expression.static booleanTimeMatch determines whether the current time is between startTime and endTime.static booleantimeMatchFunc(String... args) timeMatchFunc is the wrapper for TimeMatch.static voidvalidateVariadicStringArgs(int expectedLen, String... args) validate the variadic string parameter size
-
Field Details
-
KEY_MATCH2_PATTERN
-
KEY_MATCH3_PATTERN
-
KEY_MATCH5_PATTERN
-
-
Constructor Details
-
BuiltInFunctions
public BuiltInFunctions()
-
-
Method Details
-
validateVariadicStringArgs
public static void validateVariadicStringArgs(int expectedLen, String... args) throws IllegalArgumentException validate the variadic string parameter size- Parameters:
expectedLen- the variadic string arguments to validate.args- the expected number of arguments.- Throws:
IllegalArgumentException
-
keyMatch
keyMatch determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.For example, "/foo/bar" matches "/foo/*"
- Parameters:
key1- the first argument.key2- the second argument.- Returns:
- whether key1 matches key2.
-
keyMatch2
keyMatch2 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.For example, "/foo/bar" matches "/foo/*", "/resource1" matches "/:resource"
- Parameters:
key1- the first argument.key2- the second argument.- Returns:
- whether key1 matches key2.
-
keyMatch3
keyMatch3 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *.For example, "/foo/bar" matches "/foo/*", "/resource1" matches "/{resource}"- Parameters:
key1- the first argument.key2- the second argument.- Returns:
- whether key1 matches key2.
-
keyMatch4
KeyMatch4 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. Besides what KeyMatch3 does, KeyMatch4 can also match repeated patterns:"/parent/123/child/123" matches "/parent/{id}/child/{id}" "/parent/123/child/456" does not match "/parent/{id}/child/{id}" But KeyMatch3 will match both.Attention: key1 cannot contain English commas.- Parameters:
key1- the first argument.key2- the second argument.- Returns:
- whether key1 matches key2.
-
keyMatch5
KeyMatch5 determines whether key1 matches the pattern of key2 and ignores the parameters in key2.For example, "/foo/bar?status=1&type=2" matches "/foo/bar"
- Parameters:
key1- the first argument.key2- the second argument.- Returns:
- whether key1 matches key2.
-
keyGetFunc
-
keyGet2Func
KeyGet2 returns value matched pattern.For example, "/resource1" matches "/:resource", if the pathVar == "resource", then "resource1" will be returned.- Parameters:
key1- the first argument.key2- the second argument.pathVar- the name of the variable to retrieve from the matched pattern.- Returns:
- the matched part.
-
regexMatch
-
ipMatch
ipMatch determines whether IP address ip1 matches the pattern of IP address ip2, ip2 can be an IP address or a CIDR pattern. For example, "192.168.2.123" matches "192.168.2.0/24"- Parameters:
ip1- the first argument.ip2- the second argument.- Returns:
- whether ip1 matches ip2.
-
globMatch
-
allMatch
-
eval
public static boolean eval(String eval, Map<String, Object> env, com.googlecode.aviator.AviatorEvaluatorInstance aviatorEval) eval calculates the stringified boolean expression and return its result.- Parameters:
eval- the stringified boolean expression.env- the key-value pair of the parameters in the expression.aviatorEval- the AviatorEvaluatorInstance object which contains built-in functions and custom functions.- Returns:
- the result of the eval.
-
timeMatchFunc
timeMatchFunc is the wrapper for TimeMatch.- Parameters:
args- the arguments for the time match function.- Returns:
- whether the time matches the pattern.
-
timeMatch
TimeMatch determines whether the current time is between startTime and endTime. You can use "_" to indicate that the parameter is ignored- Parameters:
startTime- the start time as a string in the format "yyyy-MM-dd HH:mm:ss". Use "_" to ignore the start time.endTime- the end time as a string in the format "yyyy-MM-dd HH:mm:ss". Use "_" to ignore the end time.- Returns:
- whether the current time is between startTime and endTime
-