Top Description Fields Methods
org.osgi.service.condpermadmin

public Interface Condition

Additional top-level class in compilation unit: BooleanCondition.

Known Direct Implementers
org.osgi.service.condpermadmin.BooleanCondition
Annotations
@ConsumerType
Imports
java.util.Dictionary, org.osgi.annotation.versioning.ConsumerType

The interface implemented by a Condition. Conditions are bound to Permissions using Conditional Permission Info. The Permissions of a ConditionalPermission Info can only be used if the associated Conditions are satisfied.
Author
$Id: 87718d0133d588bbc10729bb5cf43cfeb86fa391 $

Field Summary

Modifier and TypeField and Description
public static final Condition
FALSE

A Condition object that will always evaluate to false and that is never postponed.

public static final Condition
TRUE

A Condition object that will always evaluate to true and that is never postponed.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true isSatisfied() can change. Otherwise, false if the value returned by isSatisfied() will not change for this condition.
isMutable
()

Returns whether the Condition is mutable.

public boolean

Returns:

true to indicate the evaluation must be postponed. Otherwise, false if the evaluation can be performed immediately.
isPostponed
()

Returns whether the evaluation must be postponed until the end of the permission check.

public boolean

Returns:

true to indicate the Conditions is satisfied. Otherwise, false if the Condition is not satisfied.
isSatisfied
()

Returns whether the Condition is satisfied.

public boolean

Returns:

true if all the Condition objects are satisfied. Otherwise, false if one of the Condition objects is not satisfied.
isSatisfied
(Condition[]
The array of Condition objects, which must all be of the same class and mutable. The receiver must be one of those Condition objects.
conditions
,
Dictionary<Object, Object>
A Dictionary object that implementors can use to track state. If this method is invoked multiple times in the same permission check, the same Dictionary will be passed multiple times. The SecurityManager treats this Dictionary as an opaque object and simply creates an empty dictionary and passes it to subsequent invocations if multiple invocations are needed.
context
)

Returns whether the specified set of Condition objects are satisfied.

Field Detail

FALSEback to summary
public static final Condition FALSE

A Condition object that will always evaluate to false and that is never postponed.

TRUEback to summary
public static final Condition TRUE

A Condition object that will always evaluate to true and that is never postponed.

Method Detail

isMutableback to summary
public boolean isMutable()

Returns whether the Condition is mutable. A Condition can go from mutable (true) to immutable (false) over time but never from immutable (false) to mutable (true).

Returns:boolean

true isSatisfied() can change. Otherwise, false if the value returned by isSatisfied() will not change for this condition.

isPostponedback to summary
public boolean isPostponed()

Returns whether the evaluation must be postponed until the end of the permission check. If this method returns false (or this Condition is immutable), then this Condition must be able to directly answer the isSatisfied() method. In other words, isSatisfied() will return very quickly since no external sources, such as for example users or networks, need to be consulted.

This method must always return the same value whenever it is called so that the Conditional Permission Admin can cache its result.

Returns:boolean

true to indicate the evaluation must be postponed. Otherwise, false if the evaluation can be performed immediately.

isSatisfiedback to summary
public boolean isSatisfied()

Returns whether the Condition is satisfied. This method is only called for immediate Condition objects or immutable postponed conditions, and must always be called inside a permission check. Mutable postponed Condition objects will be called with the grouped version isSatisfied(Condition[], Dictionary) at the end of the permission check.

Returns:boolean

true to indicate the Conditions is satisfied. Otherwise, false if the Condition is not satisfied.

isSatisfiedback to summary
public boolean isSatisfied(Condition[] conditions, Dictionary<Object, Object> context)

Returns whether the specified set of Condition objects are satisfied. Although this method is not static, it must be implemented as if it were static. All of the passed Condition objects will be of the same type and will correspond to the class type of the object on which this method is invoked. This method must be called inside a permission check only.

Parameters
conditions:Condition[]

The array of Condition objects, which must all be of the same class and mutable. The receiver must be one of those Condition objects.

context:Dictionary<Object, Object>

A Dictionary object that implementors can use to track state. If this method is invoked multiple times in the same permission check, the same Dictionary will be passed multiple times. The SecurityManager treats this Dictionary as an opaque object and simply creates an empty dictionary and passes it to subsequent invocations if multiple invocations are needed.

Returns:boolean

true if all the Condition objects are satisfied. Otherwise, false if one of the Condition objects is not satisfied.