OSID Logo
OSID Specifications
osid package
Version 3.1.0
Interfaceosid.OsidRule
Implementsosid.OsidObject
osid.Operable
Implemented Byosid.assessment.authoring.SequenceRule
osid.ordering.Price
osid.authorization.Function
osid.grading.transform.GradeSystemTransform
osid.grading.calculation.GradebookColumnCalculation
osid.OsidEnabler
osid.OsidConstrainer
osid.OsidProcessor
osid.resource.demographic.Demographic
osid.checklist.mason.TodoProducer
osid.rules.check.Agenda
osid.rules.check.Check
osid.course.requisite.Requisite
osid.course.requisite.CourseRequirement
osid.course.requisite.ProgramRequirement
osid.course.requisite.CredentialRequirement
osid.course.requisite.LearningObjectiveRequirement
osid.course.requisite.AssessmentRequirement
osid.course.requisite.AwardRequirement
osid.calendaring.RecurringEvent
osid.calendaring.SupersedingEvent
osid.calendaring.OffsetEvent
osid.configuration.Parameter
osid.inquiry.Inquiry
osid.workflow.Step
osid.rules.Rule
osid.mapping.path.SpeedZone
osid.mapping.path.Signal
osid.control.Trigger
osid.control.Action
Description

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 Operables. 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 result.

Rule evaluations may also require extra input data in the form of OsidConditions. getConditionRecordTypes() lists the required OsidRecords. These types may or may not be directly managed as part of this rule definition.

MethodhasRule
Description

Tests if an explicit rule is available.

Returnboolean true if an explicit rule is available, false otherwise
Compliancemandatory This method must be implemented.
MethodgetRuleId
Description

Gets the explicit rule Id.

Returnosid.id.Id the rule Id
ErrorsILLEGAL_STATE hasRule() is false
Compliancemandatory This method must be implemented.
MethodgetRule
Description

Gets the explicit rule.

Returnosid.rules.Rule the rule
ErrorsILLEGAL_STATE hasRule() is false
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetConditionRecordTypes
Description

Gets the list of OsidCondition OsidRecord Types this rule requires.

Returnosid.type.TypeList a list of OsidCondition record Types
Compliancemandatory This method must be implemented.