OSID Logo
OSID Specifications
osid package
Version 3.0.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.

Returnbooleantrue if an explicit rule is available, false otherwise
CompliancemandatoryThis method must be implemented.
MethodgetRuleId
Description

Gets the explicit rule Id .

Returnosid.id.Idthe rule Id
ErrorsILLEGAL_STATEhasRule() is false
CompliancemandatoryThis method must be implemented.
MethodgetRule
Description

Gets the explicit rule.

Returnosid.rules.Rulethe rule
ErrorsILLEGAL_STATEhasRule() is false
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetConditionRecordTypes
Description

Gets the list of OsidCondition OsidRecord Types this rule requires.

Returnosid.type.TypeLista list of OsidCondition record Types
CompliancemandatoryThis method must be implemented.