Interface Operable
- All Known Subinterfaces:
Action, ActionEnabler, ActivityUnit, Agenda, AssessmentPart, AssessmentRequirement, Auction, AuctionConstrainer, AuctionConstrainerEnabler, AuctionProcessor, AuctionProcessorEnabler, Audit, AuditConstrainer, AuditConstrainerEnabler, AuditEnabler, AuditProcessor, AuditProcessorEnabler, AuthorizationEnabler, AvailabilityEnabler, AwardRequirement, Ballot, BallotConstrainer, BallotConstrainerEnabler, BidEnabler, Branch, Broker, BrokerConstrainer, BrokerConstrainerEnabler, BrokerEnabler, BrokerProcessor, BrokerProcessorEnabler, CanonicalUnit, CanonicalUnitEnabler, CanonicalUnitProcessor, CanonicalUnitProcessorEnabler, CatalogEnabler, Check, CommissionEnabler, CommitmentEnabler, Composition, CompositionEnabler, ContactEnabler, Controller, Convocation, Course, CourseRequirement, CredentialRequirement, Demographic, DemographicEnabler, DeviceEnabler, Dispatch, DispatchConstrainer, DispatchConstrainerEnabler, DispatchEnabler, DispatchProcessor, DispatchProcessorEnabler, EdgeEnabler, Function, GradebookColumnCalculation, GradeSystemTransform, HoldEnabler, InputEnabler, Inquiry, InquiryEnabler, Instruction, Issue, IssueConstrainer, IssueConstrainerEnabler, IssueEnabler, IssueProcessor, IssueProcessorEnabler, Job, JobConstrainer, JobConstrainerEnabler, JobProcessor, JobProcessorEnabler, LearningObjectiveRequirement, Obstacle, ObstacleEnabler, OfferingConstrainer, OfferingConstrainerEnabler, OffsetEvent, OffsetEventEnabler, OsidConstrainer, OsidEffectuator, OsidEnabler, OsidGovernator, OsidOperator, OsidProcessor, OsidRule, OsidRuleApplicator, Parameter, ParameterProcessor, ParameterProcessorEnabler, Pool, PoolConstrainer, PoolConstrainerEnabler, PoolEnabler, PoolProcessor, PoolProcessorEnabler, Price, PriceEnabler, Process, ProcessConstrainer, ProcessConstrainerEnabler, ProcessEnabler, ProcessProcessor, ProcessProcessorEnabler, ProfileEntryEnabler, Program, ProgramRequirement, ProvisionableEnabler, ProvisionEnabler, Queue, Queue, QueueConstrainer, QueueConstrainer, QueueConstrainerEnabler, QueueConstrainerEnabler, QueueEnabler, QueueEnabler, QueueProcessor, QueueProcessor, QueueProcessorEnabler, QueueProcessorEnabler, Race, 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, Value, ValueEnabler, VoteEnabler
Operable is used to indicate an OsidObject performs
operations. The active status indicates if the Operable is on or
off. The active status is determined from the operational status and the
enabling rules.
The operational status indicates the Operable is functioning. This status is not set administratively but instead refelects suitable conditions for operation.
Operables may be administratively turned on of off through the enabled
and disabled administrative overrides. If there are no related
OsidOperator rules, then isEnabled() should be set to
true and isDisabled() set to false for the
Operable to be on and isEnabled() set to false and
isDisabled() set to true for the Operable to be off .
isEnabled() and isDisabled() cannot both be true .
If there are related OsidOperator rules, the active status of
at least one OsidOperator results in a true value for
isOperational() . This active status can be overridden by setting
isDisabled() to true . If there are no active
OsidOperator rules, isOperational() is false resulting in an
off Operable unless isEnabled() is true .
For the active status to be completely determined by the
OsidOperators , both isEnabled() and isDisabled() should
be false where the isActive() status is completely driven
from isOperational() .
-
Method Summary
Modifier 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.
-
Method Details
-
isActive
boolean isActive()Tests if this operable is active.isActive()istrueifisOperational()istrueandisDisabled()isfalse, orisEnabled()istrue. If anOperableis also aTemporal,isEffective()must also betrue.- Returns:
trueif this operable is active,falseif it is inactive- Compliance:
mandatory- This method must be implemented.
-
isEnabled
boolean isEnabled()Tests if this operable is administravely enabled. Administratively enabling overrides any appliedOsidOperator. If this method returnstruethenisDisabled()must returnfalse. AppliedOsidEnablerseffectisOperational(). This method is an administrative override.- Returns:
trueif this operable is enabled,falseif the active status is determined by other rules- Compliance:
mandatory- This method must be implemented.
-
isDisabled
boolean isDisabled()Tests if this operable is administravely disabled. Administratively disabling overrides anyOsidOperator. If this method returnstruethenisEnabled()must returnfalse.- Returns:
trueif this operable is disabled,falseif the active status is determined by other rules- Compliance:
mandatory- This method must be implemented.
-
isOperational
boolean isOperational()Tests if thisOperableis operational. ThisOperableis operational if any of the appliedOsidOperatorsaretrue.- Returns:
trueif this operable is operational,falseotherwise- Compliance:
mandatory- This method must be implemented.
-