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
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 Summary
Methods inherited from interface Browsable
getProperties, getPropertiesByRecordTypeModifier and TypeMethodDescriptionGets a list of properties.getPropertiesByRecordType(Type recordType) Gets a list of properties corresponding to the specified record type.Methods inherited from interface Extensible
getRecordTypes, hasRecordTypeModifier and TypeMethodDescriptionGets the record types available in this object.booleanhasRecordType(Type recordType) Tests if this object supports the given recordType.Methods inherited from interface Identifiable
getId, isCurrentMethods inherited from interface Operable
isActive, isDisabled, isEnabled, isOperationalModifier and TypeMethodDescriptionbooleanisActive()Tests if this operable is active.booleanTests if this operable is administravely disabled.booleanTests if this operable is administravely enabled.booleanTests if thisOperableis operational.Methods inherited from interface OsidObject
getDescription, getDisplayName, getGenusType, isOfGenusTypeModifier and TypeMethodDescriptionGets the description associated with this instance of this OSID object.Gets the preferred display name associated with this instance of this OSID object appropriate for display to the user.Gets the genus type of this object.booleanisOfGenusType(Type genusType) Tests if this object is of the given genusType.
-
Method Details
-
hasRule
boolean hasRule()Tests if an explicit rule is available.- Returns:
trueif an explicit rule is available,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getRuleId
Id getRuleId()Gets the explicit ruleId.- Returns:
- the rule
Id - Throws:
IllegalStateException-hasRule()isfalse- Compliance:
mandatory- This method must be implemented.
-
getRule
Gets the explicit rule.- Returns:
- the rule
- Throws:
IllegalStateException-hasRule()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
getConditionRecordTypes
TypeList getConditionRecordTypes()Gets the list ofOsidConditionOsidRecordTypesthis rule requires.- Returns:
- a list of
OsidConditionrecordTypes - Compliance:
mandatory- This method must be implemented.
-