Interface OsidEnabler
- All Superinterfaces:
Browsable, Extensible, Identifiable, Operable, OsidObject, OsidRule, Temporal
- All Known Subinterfaces:
ActionEnabler, AuctionConstrainerEnabler, AuctionProcessorEnabler, AuditConstrainerEnabler, AuditEnabler, AuditProcessorEnabler, AuthorizationEnabler, AvailabilityEnabler, BallotConstrainerEnabler, BidEnabler, BrokerConstrainerEnabler, BrokerEnabler, BrokerProcessorEnabler, CanonicalUnitEnabler, CanonicalUnitProcessorEnabler, CatalogEnabler, CommissionEnabler, CommitmentEnabler, CompositionEnabler, ContactEnabler, DemographicEnabler, DeviceEnabler, DispatchConstrainerEnabler, DispatchEnabler, DispatchProcessorEnabler, EdgeEnabler, HoldEnabler, InputEnabler, InquiryEnabler, Instruction, IssueConstrainerEnabler, IssueEnabler, IssueProcessorEnabler, JobConstrainerEnabler, JobProcessorEnabler, ObstacleEnabler, OfferingConstrainerEnabler, OffsetEventEnabler, OsidEffectuator, OsidOperator, OsidRuleApplicator, ParameterProcessorEnabler, PoolConstrainerEnabler, PoolEnabler, PoolProcessorEnabler, PriceEnabler, ProcessConstrainerEnabler, ProcessEnabler, ProcessProcessorEnabler, ProfileEntryEnabler, ProvisionableEnabler, ProvisionEnabler, QueueConstrainerEnabler, QueueConstrainerEnabler, QueueEnabler, QueueEnabler, QueueProcessorEnabler, QueueProcessorEnabler, RaceConstrainerEnabler, RaceProcessorEnabler, RecurringEventEnabler, RelationshipEnabler, RelevancyEnabler, Requisite, SequenceRuleEnabler, SignalEnabler, SpeedZoneEnabler, StepConstrainerEnabler, StepEnabler, StepProcessorEnabler, SubscriptionEnabler, SupersedingEventEnabler, TriggerEnabler, ValueEnabler, VoteEnabler
An OsidEnabler is an OsidRule used to manage the
effectiveness, enabledness, or operation of an OsidObject . The
OsidEnabler itself may be active or inactive. When an
OsidEnabler is active, any OsidObject to which it is applied is
"on." When all OsidEnablers applied to an OsidObject are
inactive, then the OsidObject is "off." If isRequirement()
is true , then this OsidEnabler must be active regardless
of the state of any other OsidEnablers mapped to the
OsidObject .
The managed OsidObject may have varying semantics as to what
its on/off status means and in particular, which methods are used to
indicate the effect of an applied OsidEnabler . These semantics
are defined in the types of OsidEnablers .
-
Operables:OsidOperatorseffect the operational status of theOperable. -
Temporals:OsidEffectuatorsmay be used to extend or shorten the effectiveness of aTemporalsuch as anOsidRelationship. -
OsidRules:OsidRuleApplicatorsdetermine if theOsidRuleis applicable in an evaluation.
OsidEnablers are both Operables and Temporals .
Ineffective OsidEnablers are not operational therefore not active.
In other words, isOperational() also depends on
isEffective() .
OsidEnablers define several built-in dimensions to govern its
operational status.
- effective dates: The
OsidEnableris operational during these dates and evaluated using a date. - schedule: The
OsidEnableris operational when the date is occurs on theScheduleand the date is within the effective dates. - event: The
OsidEnableris operational when the date occurs within theEventand the date is within the effective dates.Eventsmay be comprised ofSchedulesand other rules making them discontinuous. - cyclic event: The
OsidEnableris operational when the date cccurs within theCyclicEventand the date is within the effective dates.CyclicEventsmay be complex recurring events but also recur from one time period to the next, such as annually. - time period: The
OsidEnableris operational during aTimePeriod. - cyclic time period: The
OsidEnableris operational during a recurringTimePeriod. For example, any Spring term.
-
Method Summary
Modifier and TypeMethodDescriptionGets the cyclic event.Gets the cyclic eventId.Gets the cyclic time period.Gets the cyclic time periodId.getEvent()Gets the event.Gets the eventId.Gets the schedule.Gets the scheduleId.Gets the time period.Gets the time periodId.booleanTests if the operational status of the enabler is governed by aCyclicEvent.booleanTests if this enabler is applied to a recurringCyclicTimePeriod.booleanTests if the operational status of the enabler is governed by anEvent.booleanTests if this enabler is applied to aTimePeriod.booleanTests if the operational status of the enabler is governed by aSchedule.booleanTests if thisOsidEnableris a requirement.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.Methods inherited from interface OsidRule
getConditionRecordTypes, getRule, getRuleId, hasRuleMethods inherited from interface Temporal
getEndDate, getStartDate, isEffectiveModifier and TypeMethodDescriptionGets the end date.Gets the start date.booleanTests if the current date is within the start end end dates inclusive.
-
Method Details
-
isRequirement
boolean isRequirement()Tests if thisOsidEnableris a requirement. Requirements are special-caseOsidEnablers. Iftrue, theOsidObjectsto which thisOsidEnableris applied become inactive when thisOsidEnableris inactive, regardless of the state of any otherOsidEnabler. When thisOsidEnableris active, the state of theOsidObjectis driven off of the state of the other appliedOsidEnablers. Iffalse, theOsidObjectis active when any appliedOsidEnableris active including this one.- Returns:
trueif this enabler is a requirement,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
isOperationalOnSchedule
boolean isOperationalOnSchedule()Tests if the operational status of the enabler is governed by aSchedule. If a schedule exists, it is bounded by the effective dates of this enabler.- Returns:
trueif the enabler is operational on a schedule,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getScheduleId
Id getScheduleId()Gets the scheduleId.- Returns:
- the schedule
Id - Throws:
IllegalStateException-isOperationalOnSchedule()isfalse- Compliance:
mandatory- This method must be implemented.
-
getSchedule
Gets the schedule.- Returns:
- the schedule
- Throws:
IllegalStateException-isOperationalOnSchedule()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
isOperationalDuringEvent
boolean isOperationalDuringEvent()Tests if the operational status of the enabler is governed by anEvent. The event may also be aRecurringEventin which case the enabler is effective for start and end dates of each event in the series If an event exists, it is bounded by the effective dates of this enabler.- Returns:
trueif the enabler is operational for an event,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getEventId
Id getEventId()Gets the eventId.- Returns:
- the event
Id - Throws:
IllegalStateException-isOperationalDuringEvent()isfalse- Compliance:
mandatory- This method must be implemented.
-
getEvent
Gets the event.- Returns:
- the event
- Throws:
IllegalStateException-isOperationalDuringEvent()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
isOperationalDuringCyclicEvent
boolean isOperationalDuringCyclicEvent()Tests if the operational status of the enabler is governed by aCyclicEvent.- Returns:
trueif the enabler is governed by a cyclic event,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getCyclicEventId
Id getCyclicEventId()Gets the cyclic eventId.- Returns:
- the cyclic event
Id - Throws:
IllegalStateException-isOperationalDuringCyclicEvent()isfalse- Compliance:
mandatory- This method must be implemented.
-
getCyclicEvent
Gets the cyclic event.- Returns:
- the cyclic event
- Throws:
IllegalStateException-isOperationalDuringCyclicEvent()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
isOperationalDuringTimePeriod
boolean isOperationalDuringTimePeriod()Tests if this enabler is applied to aTimePeriod. ATimePeriodis effectively bounded by its effective dates which determine whether or not this enabler is active. For example, a rule may be active between June 1 and June 30 but applied to financial transactions pertaining to 2015Q4.- Returns:
trueif the enabler applied to a time period,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getTimePeriodId
Id getTimePeriodId()Gets the time periodId.- Returns:
- the time period
Id - Throws:
IllegalStateException-isOperationalDuringTimePeriod()isfalse- Compliance:
mandatory- This method must be implemented.
-
getTimePeriod
Gets the time period.- Returns:
- the time period
- Throws:
IllegalStateException-isOperationalDuringTimePeriod()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
isOperationalDuringCyclicTimePeriod
boolean isOperationalDuringCyclicTimePeriod()Tests if this enabler is applied to a recurringCyclicTimePeriod. If a cyclic time period exists, it is effectively bounded by the effective dates of this enabler that determine whether or not this enabler is active.- Returns:
trueif the enabler is appleid to a cycic time period,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getCyclicTimePeriodId
Id getCyclicTimePeriodId()Gets the cyclic time periodId.- Returns:
- the cyclic time period
Id - Throws:
IllegalStateException-isOperationalDuringCyclicTimePeriod()isfalse- Compliance:
mandatory- This method must be implemented.
-
getCyclicTimePeriod
Gets the cyclic time period.- Returns:
- the cyclic time period
- Throws:
IllegalStateException-isOperationalDuringCyclicTimePeriod()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-