Class JexlSandbox.Permissions
- java.lang.Object
-
- org.apache.commons.jexl3.introspection.JexlSandbox.Permissions
-
- Enclosing class:
- JexlSandbox
public static final class JexlSandbox.Permissions extends java.lang.Object
Contains the allow or block lists for properties and methods for a given class.
-
-
Field Summary
Fields Modifier and Type Field Description private JexlSandbox.Names
execute
The controlled methods.private boolean
inheritable
Whether these permissions are inheritable, ie can be used by derived classes.private JexlSandbox.Names
read
The controlled readable properties.private JexlSandbox.Names
write
The controlled writable properties.
-
Constructor Summary
Constructors Constructor Description Permissions(boolean inherit, boolean readFlag, boolean writeFlag, boolean executeFlag)
Creates a new permissions instance.Permissions(boolean inherit, JexlSandbox.Names nread, JexlSandbox.Names nwrite, JexlSandbox.Names nexecute)
Creates a new permissions instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) JexlSandbox.Permissions
copy()
JexlSandbox.Names
execute()
Gets the set of method names in these permissions.JexlSandbox.Permissions
execute(java.lang.String... methodNames)
Adds a list of executable methods names to these permissions.boolean
isInheritable()
JexlSandbox.Names
read()
Gets the set of readable property names in these permissions.JexlSandbox.Permissions
read(java.lang.String... propertyNames)
Adds a list of readable property names to these permissions.JexlSandbox.Names
write()
Gets the set of writable property names in these permissions.JexlSandbox.Permissions
write(java.lang.String... propertyNames)
Adds a list of writable property names to these permissions.
-
-
-
Field Detail
-
inheritable
private final boolean inheritable
Whether these permissions are inheritable, ie can be used by derived classes.
-
read
private final JexlSandbox.Names read
The controlled readable properties.
-
write
private final JexlSandbox.Names write
The controlled writable properties.
-
execute
private final JexlSandbox.Names execute
The controlled methods.
-
-
Constructor Detail
-
Permissions
Permissions(boolean inherit, boolean readFlag, boolean writeFlag, boolean executeFlag)
Creates a new permissions instance.- Parameters:
inherit
- whether these permissions are inheritablereadFlag
- whether the read property list is allow or blockwriteFlag
- whether the write property list is allow or blockexecuteFlag
- whether the method list is allow of block
-
Permissions
Permissions(boolean inherit, JexlSandbox.Names nread, JexlSandbox.Names nwrite, JexlSandbox.Names nexecute)
Creates a new permissions instance.- Parameters:
inherit
- whether these permissions are inheritablenread
- the read setnwrite
- the write setnexecute
- the method set
-
-
Method Detail
-
copy
JexlSandbox.Permissions copy()
- Returns:
- a copy of these permissions
-
execute
public JexlSandbox.Names execute()
Gets the set of method names in these permissions.- Returns:
- the set of method names
-
execute
public JexlSandbox.Permissions execute(java.lang.String... methodNames)
Adds a list of executable methods names to these permissions.The constructor is denoted as the empty-string, all other methods by their names.
- Parameters:
methodNames
- the method names- Returns:
- this instance of permissions
-
isInheritable
public boolean isInheritable()
- Returns:
- whether these permissions applies to derived classes.
-
read
public JexlSandbox.Names read()
Gets the set of readable property names in these permissions.- Returns:
- the set of property names
-
read
public JexlSandbox.Permissions read(java.lang.String... propertyNames)
Adds a list of readable property names to these permissions.- Parameters:
propertyNames
- the property names- Returns:
- this instance of permissions
-
write
public JexlSandbox.Names write()
Gets the set of writable property names in these permissions.- Returns:
- the set of property names
-
write
public JexlSandbox.Permissions write(java.lang.String... propertyNames)
Adds a list of writable property names to these permissions.- Parameters:
propertyNames
- the property names- Returns:
- this instance of permissions
-
-