Interface OsidRule

All Superinterfaces:
Browsable, Extensible, Identifiable, Operable, OsidObject
All Known Subinterfaces:
Action, ActionEnabler, Agenda, AssessmentRequirement, AuctionConstrainer, AuctionConstrainerEnabler, AuctionProcessor, AuctionProcessorEnabler, AuditConstrainer, AuditConstrainerEnabler, AuditEnabler, AuditProcessor, AuditProcessorEnabler, AuthorizationEnabler, AvailabilityEnabler, AwardRequirement, BallotConstrainer, BallotConstrainerEnabler, BidEnabler, BrokerConstrainer, BrokerConstrainerEnabler, BrokerEnabler, BrokerProcessor, BrokerProcessorEnabler, CanonicalUnitEnabler, CanonicalUnitProcessor, CanonicalUnitProcessorEnabler, CatalogEnabler, Check, CommissionEnabler, CommitmentEnabler, CompositionEnabler, ContactEnabler, CourseRequirement, CredentialRequirement, Demographic, DemographicEnabler, DeviceEnabler, DispatchConstrainer, DispatchConstrainerEnabler, DispatchEnabler, DispatchProcessor, DispatchProcessorEnabler, EdgeEnabler, Function, GradebookColumnCalculation, GradeSystemTransform, HoldEnabler, InputEnabler, Inquiry, InquiryEnabler, Instruction, IssueConstrainer, IssueConstrainerEnabler, IssueEnabler, IssueProcessor, IssueProcessorEnabler, JobConstrainer, JobConstrainerEnabler, JobProcessor, JobProcessorEnabler, LearningObjectiveRequirement, ObstacleEnabler, OfferingConstrainer, OfferingConstrainerEnabler, OffsetEvent, OffsetEventEnabler, OsidConstrainer, OsidEffectuator, OsidEnabler, OsidOperator, OsidProcessor, OsidRuleApplicator, Parameter, ParameterProcessor, ParameterProcessorEnabler, PoolConstrainer, PoolConstrainerEnabler, PoolEnabler, PoolProcessor, PoolProcessorEnabler, Price, PriceEnabler, ProcessConstrainer, ProcessConstrainerEnabler, ProcessEnabler, ProcessProcessor, ProcessProcessorEnabler, ProfileEntryEnabler, ProgramRequirement, ProvisionableEnabler, ProvisionEnabler, QueueConstrainer, QueueConstrainer, QueueConstrainerEnabler, QueueConstrainerEnabler, QueueEnabler, QueueEnabler, QueueProcessor, QueueProcessor, QueueProcessorEnabler, QueueProcessorEnabler, RaceConstrainer, RaceConstrainerEnabler, RaceProcessor, RaceProcessorEnabler, RecurringEvent, RecurringEventEnabler, RelationshipEnabler, RelevancyEnabler, Requisite, Rule, SequenceRule, SequenceRuleEnabler, Signal, SignalEnabler, SpeedZone, SpeedZoneEnabler, Step, StepConstrainer, StepConstrainerEnabler, StepEnabler, StepProcessor, StepProcessorEnabler, SubscriptionEnabler, SupersedingEvent, SupersedingEventEnabler, TodoProducer, Trigger, TriggerEnabler, ValueEnabler, VoteEnabler

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

  • Method Details

    • hasRule

      boolean hasRule()
      Tests if an explicit rule is available.
      Returns:
      true if an explicit rule is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getRuleId

      Id getRuleId()
      Gets the explicit rule Id .
      Returns:
      the rule Id
      Throws:
      IllegalStateException - hasRule() is false
      Compliance:
      mandatory - This method must be implemented.
    • getRule

      Rule getRule() throws OperationFailedException
      Gets the explicit rule.
      Returns:
      the rule
      Throws:
      IllegalStateException - hasRule() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getConditionRecordTypes

      TypeList getConditionRecordTypes()
      Gets the list of OsidCondition OsidRecord Types this rule requires.
      Returns:
      a list of OsidCondition record Types
      Compliance:
      mandatory - This method must be implemented.