Creates a new ConditionalPermissionInfo with the specified fields suitable for insertion into a {@link ConditionalPermissionUpdate}. The
delete
method on
ConditionalPermissionInfo
objects created with this method must throw UnsupportedOperationException.
@param name The name of the created
ConditionalPermissionInfo
or
null
to have a unique name generated when the returned
ConditionalPermissionInfo
is committed in an update to the Conditional Permission Table.
@param conditions The conditions that need to be satisfied to enable thespecified permissions. This argument can be
null
or an empty array indicating the specified permissions are not guarded by any conditions.
@param permissions The permissions that are enabled when the specifiedconditions, if any, are satisfied. This argument must not be
null
and must specify at least one permission.
@param access Access decision. Must be one of the following values:
- {@link ConditionalPermissionInfo#ALLOW allow}
- {@link ConditionalPermissionInfo#DENY deny}
The specified access decision value must be evaluated case insensitively.
@return A
ConditionalPermissionInfo
object suitable forinsertion into a {@link ConditionalPermissionUpdate}.
@throws IllegalArgumentException If no permissions are specified or ifthe specified access decision is not a valid value.
@since 1.1