public interface OsidRule extends OsidObject, Operable
An OsidRule
identifies an explicit or implicit rule
evaluation. An associated Rule
may be available in cases
where the behavior of the object can be explicitly modified using a
defined rule. In many cases, an OsidObject
may define
specific methods to manage certain common behavioral aspects and delegate
anything above and beyond what has been defined to a rule evaluation.
Rules are defined to be operable. In the case of a statement
evaluation, an enabled rule overrides any evaluation to return true
and a disabled rule overrides any evaluation to return
false.
Rules
are never required to consume or implement. They
serve as a mechanism to offer a level of management not attainable in the
immediate service definition. Each Rule implies evaluating a set of facts
known to the service to produce a resulting beavior. Rule evaluations may
also accept input data or conditions, however, OsidRules
as
they appear in throughout the services may or may not provide a means of
supplying OsidConditions
directly. In the services where an
explicit OsidCondition
is absent they may be masquerading
as another interface such as a Proxy
or an OsidQuery
.
Modifier and Type | Method and Description |
---|---|
Rule |
getRule()
Gets the explicit rule.
|
Id |
getRuleId()
Gets the explicit rule
Id . |
boolean |
hasRule()
Tests if an explicit rule is available.
|
getDescription, getDisplayName, getGenusType, isOfGenusType
getId, isCurrent
getRecordTypes, hasRecordType
getProperties, getPropertiesByRecordType
isActive, isDisabled, isEnabled, isOperational
boolean hasRule()
true
if an explicit rule is available,
false
otherwisemandatory
- This method must be implemented. Id getRuleId()
Id
. Id
IllegalStateException
- hasRule()
is
false
mandatory
- This method must be implemented. Rule getRule() throws OperationFailedException
IllegalStateException
- hasRule()
is
false
OperationFailedException
- unable to complete requestmandatory
- This method must be implemented.