Datensatzklasse PurchaseAmounts

java.lang.Object
java.lang.Record
de.delinkedde.areashopreborn.domain.PurchaseAmounts
Datensatzkomponenten:
grossAmount - amount withdrawn from the buyer
taxAmount - server tax retained from the gross amount
commissionAmount - city landlord commission for a resale
netAmount - amount payable to the listing seller

public record PurchaseAmounts(BigDecimal grossAmount, BigDecimal taxAmount, BigDecimal commissionAmount, BigDecimal netAmount) extends Record
Immutable monetary breakdown of a purchase before any account is changed.
  • Konstruktordetails

    • PurchaseAmounts

      public PurchaseAmounts(BigDecimal grossAmount, BigDecimal taxAmount, BigDecimal commissionAmount, BigDecimal netAmount)
      Erstellt eine Instanz einer Datensatzklasse PurchaseAmounts.
      Parameter:
      grossAmount - Wert für die Datensatzkomponente grossAmount
      taxAmount - Wert für die Datensatzkomponente taxAmount
      commissionAmount - Wert für die Datensatzkomponente commissionAmount
      netAmount - Wert für die Datensatzkomponente netAmount
  • Methodendetails

    • calculate

      public static PurchaseAmounts calculate(BigDecimal grossAmount, ListingType type, BigDecimal taxPercent, BigDecimal resaleCommissionPercent)
      Calculates the deterministic monetary breakdown for an initial sale or resale.
      Parameter:
      grossAmount - positive listing price
      type - listing type controlling whether resale commission applies
      taxPercent - server tax percentage
      resaleCommissionPercent - city landlord resale commission percentage
      Gibt zurück:
      calculated amount breakdown
      Löst aus:
      NullPointerException - when an input is missing
    • feesExceedGrossAmount

      public boolean feesExceedGrossAmount()
      Reports whether configured deductions would require paying a negative seller amount.
      Gibt zurück:
      true when tax and commission exceed the gross amount
    • toString

      public final String toString()
      Gibt eine Zeichenfolgendarstellung dieser Datensatzklasse zurück. Die Darstellung enthält den Namen der Klasse, gefolgt vom Namen und Wert jeder der Datensatzkomponenten.
      Angegeben von:
      toString in Klasse Record
      Gibt zurück:
      eine Zeichenfolgendarstellung dieses Objekts
    • hashCode

      public final int hashCode()
      Gibt einen Hashcodewert für diese Objekt zurück. Der Wert wird vom Hashcode jeder der Datensatzkomponenten abgeleitet.
      Angegeben von:
      hashCode in Klasse Record
      Gibt zurück:
      ein Hashcodewert für dieses Objekt
    • equals

      public final boolean equals(Object o)
      Gibt an, ob ein anderes Objekt diesem gleich ("equal to") ist. Die Objekte sind gleich, wenn das andere Objekt der gleichen Klasse angehört und alle Datensatzkomponenten gleich sind. Alle Komponenten in dieser Datensatzklasse werden verglichen mit Objects::equals(Object,Object).
      Angegeben von:
      equals in Klasse Record
      Parameter:
      o - das Objekt, mit dem verglichen wird
      Gibt zurück:
      true, wenn dieses Objekt gleich dem Argument o ist, andernfalls false.
    • grossAmount

      public BigDecimal grossAmount()
      Gibt den Wert für die Datensatzkomponente grossAmount zurück.
      Gibt zurück:
      Wert der Datensatzkomponente grossAmount
    • taxAmount

      public BigDecimal taxAmount()
      Gibt den Wert für die Datensatzkomponente taxAmount zurück.
      Gibt zurück:
      Wert der Datensatzkomponente taxAmount
    • commissionAmount

      public BigDecimal commissionAmount()
      Gibt den Wert für die Datensatzkomponente commissionAmount zurück.
      Gibt zurück:
      Wert der Datensatzkomponente commissionAmount
    • netAmount

      public BigDecimal netAmount()
      Gibt den Wert für die Datensatzkomponente netAmount zurück.
      Gibt zurück:
      Wert der Datensatzkomponente netAmount