Class MoneyWiseUKIncomeScheme
java.lang.Object
io.github.tonywasher.joceanus.moneywise.tax.uk.MoneyWiseUKIncomeScheme
- All Implemented Interfaces:
MetisDataItem.MetisDataObjectFormat,MetisFieldItem
- Direct Known Subclasses:
MoneyWiseUKCapitalScheme,MoneyWiseUKChargeableGainsScheme,MoneyWiseUKDividendScheme,MoneyWiseUKInterestScheme,MoneyWiseUKRoomRentalScheme
Income Tax Scheme.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.github.tonywasher.joceanus.metis.field.MetisFieldItem
MetisFieldItem.MetisFieldDef, MetisFieldItem.MetisFieldItemType, MetisFieldItem.MetisFieldSetDef, MetisFieldItem.MetisFieldTableItem, MetisFieldItem.MetisFieldUpdatableItem, MetisFieldItem.MetisFieldVersionedDef -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor.protectedMoneyWiseUKIncomeScheme(Boolean pReliefAvailable) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected OceanusMoneyadjustAllowances(MoneyWiseUKTaxConfig pConfig, OceanusMoney pAmount) Adjust Allowances.protected OceanusMoneyadjustForAllowance(OceanusMoney pAllowance, OceanusMoney pAmount) Adjust For an allowance/band.protected voidadjustTaxBands(MoneyWiseUKTaxConfig pConfig, OceanusMoney pAmount) Adjust TaxBands.protected io.github.tonywasher.joceanus.moneywise.tax.MoneyWiseTaxBandSetallocateToTaxBands(MoneyWiseUKTaxConfig pConfig, io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseTaxClass pBasis, OceanusMoney pAmount) Allocate the amount to the appropriate tax bands.formatObject(OceanusDataFormatter pFormatter) Obtain Object summary.protected OceanusMoneygetAmountInAllowance(MoneyWiseUKTaxConfig pConfig, OceanusMoney pAmount) Obtain the taxFree amount.protected static OceanusMoneygetAmountInBand(OceanusMoney pBand, OceanusMoney pAmount) Obtain the amount of income that falls in a band.MetisFieldSet<? extends MoneyWiseUKIncomeScheme> Obtain the fieldSet.protected Iterator<io.github.tonywasher.joceanus.moneywise.tax.MoneyWiseTaxBandSet.MoneyWiseTaxBand> taxBandIterator(MoneyWiseUKTaxConfig pConfig, io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseTaxClass pBasis) Obtain the taxBand iterator.Is tax relief available?
-
Constructor Details
-
MoneyWiseUKIncomeScheme
protected MoneyWiseUKIncomeScheme()Constructor. -
MoneyWiseUKIncomeScheme
Constructor.- Parameters:
pReliefAvailable- Is tax relief available?
-
-
Method Details
-
taxReliefAvailable
Is tax relief available?- Returns:
- true/false
-
allocateToTaxBands
protected io.github.tonywasher.joceanus.moneywise.tax.MoneyWiseTaxBandSet allocateToTaxBands(MoneyWiseUKTaxConfig pConfig, io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseTaxClass pBasis, OceanusMoney pAmount) Allocate the amount to the appropriate tax bands.- Parameters:
pConfig- the taxConfigpBasis- the taxBasispAmount- the amount to be allocated- Returns:
- the tax bands
-
taxBandIterator
protected Iterator<io.github.tonywasher.joceanus.moneywise.tax.MoneyWiseTaxBandSet.MoneyWiseTaxBand> taxBandIterator(MoneyWiseUKTaxConfig pConfig, io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseTaxClass pBasis) Obtain the taxBand iterator.- Parameters:
pConfig- the taxConfigpBasis- the taxBasis- Returns:
- the iterator
-
getAmountInAllowance
Obtain the taxFree amount.- Parameters:
pConfig- the taxConfigpAmount- the amount that is to be adjusted- Returns:
- the amount remaining
-
adjustAllowances
Adjust Allowances.- Parameters:
pConfig- the taxConfigpAmount- the amount that is to be adjusted- Returns:
- the amount remaining
-
adjustTaxBands
Adjust TaxBands.- Parameters:
pConfig- the taxConfigpAmount- the amount that is to be adjusted
-
adjustForAllowance
Adjust For an allowance/band.- Parameters:
pAllowance- the allowancepAmount- the amount that is to be adjusted- Returns:
- the amount remaining
-
getAmountInBand
Obtain the amount of income that falls in a band.- Parameters:
pBand- the bandpAmount- the amount available- Returns:
- the amount within the band
-
getDataFieldSet
Description copied from interface:MetisFieldItemObtain the fieldSet.- Specified by:
getDataFieldSetin interfaceMetisFieldItem- Returns:
- the fieldSet
-
formatObject
Description copied from interface:MetisDataItem.MetisDataObjectFormatObtain Object summary.- Specified by:
formatObjectin interfaceMetisDataItem.MetisDataObjectFormat- Parameters:
pFormatter- the data formatter- Returns:
- the display summary of the object
-