Interface OsidRuleApplicator
- All Superinterfaces:
Browsable, Extensible, Identifiable, Operable, OsidEnabler, OsidObject, OsidRule, Temporal
- All Known Subinterfaces:
Instruction
An OsidRuleApplicator is an OsidEnabler used to
evaluate the applicability of an OsidRule . An OsidRule is
applicable when any OsidRuleApplicator is active and the applied
data of the OsidEnabler fits within the evaluation context of the
OsidRuleApplicatorCondition . Unlike other OsidEnablers ,
OsidRuleApplicators do not effect the active status of its
OsidRules . Applicability is always determined through an evaluation.
If isRequirement() is true , then this
OsidRuleApplicator must be active and applicable regardless of the state
of any other OsidRuleApplicators mapped to the OsidRule .
OsidRuleApplicators define several built-in dimensions to govern
its own operational status. In in active OsidRuleApplicator is
never applicable in an OsidRule evaluation.
- 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.
OsidRuleApplicators define several built-in application conditions
to determine if an OsidRule is applicable in an evaluation.
- applied time period: This time period to which this applies.
OsidEnablersalready include a time period to govern its operational status which is determined by the date range of the time period. However, this time period is used as a reporting time period determined by the context of the evaluation. For example, anOsidRulemay be applied during a Spring Term for Fall Term Registration. "During Spring Term" is the operational status and "for Fall Term" is the contextual condition. The dates in applicable time periods typically do not matter. - applied cyclic time period: A recurring time period to which this applies.
- applied resource: A single resource, group of resources, or demographic of resources to which this applies.
-
Method Summary
Modifier and TypeMethodDescriptionGets the cyclic time period.Gets the cyclic time periodId.Gets the resource.Gets the resourceId.Gets the time period.Gets the time periodId.booleanTests if applicability depends on a recurringCyclicTimePeriod.booleanTests if the applicability depends on a resource.booleanTests if applicability depends on aTimePeriod.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 OsidEnabler
getCyclicEvent, getCyclicEventId, getCyclicTimePeriod, getCyclicTimePeriodId, getEvent, getEventId, getSchedule, getScheduleId, getTimePeriod, getTimePeriodId, isOperationalDuringCyclicEvent, isOperationalDuringCyclicTimePeriod, isOperationalDuringEvent, isOperationalDuringTimePeriod, isOperationalOnSchedule, isRequirementModifier 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 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
-
isAppliedToTimePeriod
boolean isAppliedToTimePeriod()Tests if applicability depends on aTimePeriod. ATimePeriodis effectively bounded by its effective dates which determine whether or not anOsidRuleis applicable. For example, anOsidRulemay 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.
-
getAppliedTimePeriodId
Id getAppliedTimePeriodId()Gets the time periodId.- Returns:
- the time period
Id - Throws:
IllegalStateException-isAppliedToTimePeriod()isfalse- Compliance:
mandatory- This method must be implemented.
-
getAppliedTimePeriod
Gets the time period.- Returns:
- the time period
- Throws:
IllegalStateException-isAppliedToTimePeriod()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
isAppliedToCyclicTimePeriod
boolean isAppliedToCyclicTimePeriod()Tests if applicability depends on a recurringCyclicTimePeriod. If a cyclic time period exists, it is effectively bounded by the effective dates of this enabler that determine whether or not anOsidRuleis applicable.- Returns:
trueif the enabler is appleid to a cycic time period,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getAppliedCyclicTimePeriodId
Id getAppliedCyclicTimePeriodId()Gets the cyclic time periodId.- Returns:
- the cyclic time period
Id - Throws:
IllegalStateException-isAppliedToCyclicTimePeriod()isfalse- Compliance:
mandatory- This method must be implemented.
-
getAppliedCyclicTimePeriod
Gets the cyclic time period.- Returns:
- the cyclic time period
- Throws:
IllegalStateException-isAppliedToCyclicTimePeriod()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
isAppliedToResource
boolean isAppliedToResource()Tests if the applicability depends on a resource.- Returns:
trueif the rule applies to a resource,falseotherwise- Compliance:
mandatory- This method must be implemented.
-
getAppliedResourceId
Id getAppliedResourceId()Gets the resourceId.- Returns:
- the resource
Id - Throws:
IllegalStateException-isAppliedToResource()isfalse- Compliance:
mandatory- This method must be implemented.
-
getAppliedResource
Gets the resource.- Returns:
- the resource
- Throws:
IllegalStateException-isAppliedToResource()isfalseOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-