clsPrepayDiscountFactor¶
Represents an effective-dated discount factor for a prepay frequency. The class feeds the library's factor-selection pipeline and falls back to the neutral factor when its row does not apply.
Purpose¶
- Represents an effective-dated discount factor for a prepay frequency.
- The class feeds the library's factor-selection pipeline and falls back to the neutral factor when its row does not apply.
Context¶
- Namespace:
SAIF.Business.Policy.Rating - Assembly/package:
SAIF.Business.Policy.Rating
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| PrepayFrequencyCode | Public ReadOnly Property PrepayFrequencyCode() As String |
Prepay frequency code whose installment schedule this discount factor applies to. |
| EffectiveDate | Public ReadOnly Property EffectiveDate() As Date |
First date on which this prepay discount factor is in force. |
| ExpirationDate | Public ReadOnly Property ExpirationDate() As Date |
Optional date after which this prepay discount factor no longer applies. |
| PrepayDiscountFactor | Public Property PrepayDiscountFactor() As Decimal |
Stored discount multiplier for the prepay-frequency row effective on this date. |
| AdjustedRateFactor | Public Property AdjustedRateFactor(ByVal inAdjustedRateProvider As iAdjustedRateProvider) As Decimal Implements iAdjustedRateFactor.Factor |
Returns the stored prepay-discount multiplier when the row is valid; otherwise returns the neutral factor. |
| CreateDate | Public ReadOnly Property CreateDate() As Date |
Audit timestamp when the discount-factor row was created. |
| CreateUser | Public ReadOnly Property CreateUser() As String |
Audit user who created the discount-factor row. |
| UpdateDate | Public ReadOnly Property UpdateDate() As Date |
Audit timestamp from the most recent update to the discount-factor row. |
| UpdateUser | Public ReadOnly Property UpdateUser() As String |
Audit user from the most recent update to the discount-factor row. |
| IsExpirationDateNull | Public Function IsExpirationDateNull() As Boolean |
Reports whether the discount-factor row has no expiration date. |
| IsUpdateDateNull | Public Function IsUpdateDateNull() As Boolean |
Reports whether no update timestamp has been recorded for the discount-factor row. |
| IsUpdateUserNull | Public Function IsUpdateUserNull() As Boolean |
Reports whether no update user has been recorded for the discount-factor row. |
| Equals | Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean |
Returns True only when both arguments are prepay-discount rows with the same frequency code and effective window. |
| Equals | Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean |
Returns True when the supplied object is a prepay-discount row with the same frequency code and effective window. |
| Equals | Public Overloads Function Equals(ByVal inObject As clsPrepayDiscountFactor) As Boolean |
Treats two prepay-discount rows as equal when frequency code, effective date, and expiration date all match. |
| GetHashCode | Public Overrides Function GetHashCode() As Integer |
Hashes PrepayFrequencyCode, the value this type uses as its identity key in keyed collections. |
| ToString | Public Overrides Function ToString() As String |
Formats the row as its frequency code concatenated with its effective date. |
| GetPrepayDiscountFactor | Public Shared Function GetPrepayDiscountFactor(ByVal inDataportal As IDataPortalInfo, ByVal inPrepayFrequencyCode As String, ByVal inSelectDate As Date) As clsPrepayDiscountFactor |
Retrieves the an effective-dated discount factor for a prepay frequency identified by the key values or effective-date criteria supplied by the caller. |
| GetPrepayDiscountFactor | Public Shared Function GetPrepayDiscountFactor(ByVal inDataportal As IDataPortalInfo, ByVal inPrepayFrequency As clsPrepayFrequency.PrepayFrequencies, ByVal inSelectDate As Date) As clsPrepayDiscountFactor |
Retrieves the an effective-dated discount factor for a prepay frequency identified by the key values or effective-date criteria supplied by the caller. |
| ValidPrepayDiscountFactor | Public Function ValidPrepayDiscountFactor(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean |
BOF rule method that requires a nonblank prepay-frequency code before the row is treated as valid. |
| Member | Public Const RETRIEVE_PREPAYDISCOUNTFACTOR As String = "Select " & "PREPAY_DISCOUNT_FACTOR.PREPAY_FREQUENCY_CODE as PrepayFrequencyCode, " & "PREPAY_DISCOUNT_FACTOR.EFFECTIVE_DATE as EffectiveDate, " & "PREPAY_DISCOUNT_FACTOR.EXPIRATION_DATE as ExpirationDate, " & "PREPAY_DISCOUNT_FACTOR.DISCOUNT_FACTOR as PrepayDiscountFactor, " & "PREPAY_DISCOUNT_FACTOR.CREATE_DATE as CreateDate, " & "PREPAY_DISCOUNT_FACTOR.CREATE_USER as CreateUser, " & "PREPAY_DISCOUNT_FACTOR.UPDATE_DATE as UpdateDate, " & "PREPAY_DISCOUNT_FACTOR.UPDATE_USER as UpdateUser" & " From " & "PREPAY_DISCOUNT_FACTOR" |
Base SELECT statement that loads prepay-discount rows from PREPAY_DISCOUNT_FACTOR. |
| PrepayFrequencyCode | Public Property PrepayFrequencyCode() As String |
Prepay-frequency retrieval key used to select the applicable discount-factor row. |
| SelectDate | Public Property SelectDate() As Date |
As-of date used to retrieve the discount-factor row whose effective window contains that date. |
| New | Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo) |
Creates an empty BOF object shell that shared factory methods or retrieval logic can populate with a loaded row. |
| New | Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inPrepayFrequencyCode As String, ByVal inSelectDate As Date) |
Creates a criteria-backed instance seeded with inPrepayFrequencyCode, inSelectDate so the next retrieval runs in the caller's requested context. |
| ## Inherited public members | ||
| Member | Signature | Purpose |
| --- | --- | --- |
| Rules | Property Rules As clsRulesManager |
Owns the BOF rules manager used to evaluate registered validation logic.† |
| BeginEdit | Sub BeginEdit() |
Opens an n-level edit session for the business object.† |
| CancelEdit | Sub CancelEdit() |
Rolls back the active edit scope.† |
| ApplyEdit | Sub ApplyEdit() |
Commits the active edit scope.† |
| Error | ReadOnly Property Error As String |
Surfaces aggregate broken-rule text through IDataErrorInfo.† |
| ## Behavioral notes | ||
| - When callers ask for an applied factor, the type returns either its stored multiplier or the neutral factor defined by the policy contracts. | ||
| ## Constraints and usage notes | ||
| - Prefer the provider-aware factor member when composing rates so the type's applicability checks run before a multiplier is used. | ||
> Note: Statements marked with † are derived from dependency library |
||
| > documentation via the Legends CLI. They describe inherited behavior from the | ||
| > indicated origin library and should be verified if the dependency version changes. | ||
| ## Sources | ||
- Business\SAIF.Business.Policy.Rating\clsPrepayDiscountFactor.vb |