From 97f11ebbf7802fcf0c23183ee185f08358808d30 Mon Sep 17 00:00:00 2001 From: kasun Date: Wed, 17 Jun 2026 12:53:15 +0200 Subject: [PATCH] added specieskey to make class reflection in Calculations.class stronger --- .../java/com/pfefferminzia/petinsurance/animals/Animal.java | 2 ++ .../java/com/pfefferminzia/petinsurance/animals/Cat.java | 5 +++++ .../java/com/pfefferminzia/petinsurance/animals/Dog.java | 4 ++-- .../com/pfefferminzia/petinsurance/animals/SmallAnimal.java | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/pfefferminzia/petinsurance/animals/Animal.java b/src/main/java/com/pfefferminzia/petinsurance/animals/Animal.java index 2ad2c18..79f559f 100644 --- a/src/main/java/com/pfefferminzia/petinsurance/animals/Animal.java +++ b/src/main/java/com/pfefferminzia/petinsurance/animals/Animal.java @@ -5,4 +5,6 @@ import java.time.LocalDate; public sealed interface Animal permits Dog, Cat, SmallAnimal { LocalDate birthday(); + + String speciesKey(); } diff --git a/src/main/java/com/pfefferminzia/petinsurance/animals/Cat.java b/src/main/java/com/pfefferminzia/petinsurance/animals/Cat.java index d2c73ad..7db3ea5 100644 --- a/src/main/java/com/pfefferminzia/petinsurance/animals/Cat.java +++ b/src/main/java/com/pfefferminzia/petinsurance/animals/Cat.java @@ -3,4 +3,9 @@ package com.pfefferminzia.petinsurance.animals; import java.time.LocalDate; public final record Cat(LocalDate birthday) implements Animal { + + @Override + public String speciesKey() { + return "CAT"; + } } diff --git a/src/main/java/com/pfefferminzia/petinsurance/animals/Dog.java b/src/main/java/com/pfefferminzia/petinsurance/animals/Dog.java index b6fc470..cc28c15 100644 --- a/src/main/java/com/pfefferminzia/petinsurance/animals/Dog.java +++ b/src/main/java/com/pfefferminzia/petinsurance/animals/Dog.java @@ -5,7 +5,7 @@ import java.time.LocalDate; public final record Dog(LocalDate birthday, String breed) implements Animal { @Override - public String breed() { - return (this.breed == null || this.breed.isBlank()) ? "" : this.breed; + public String speciesKey() { + return "DOG"; } } diff --git a/src/main/java/com/pfefferminzia/petinsurance/animals/SmallAnimal.java b/src/main/java/com/pfefferminzia/petinsurance/animals/SmallAnimal.java index e4b8dc6..5c93bba 100644 --- a/src/main/java/com/pfefferminzia/petinsurance/animals/SmallAnimal.java +++ b/src/main/java/com/pfefferminzia/petinsurance/animals/SmallAnimal.java @@ -3,4 +3,9 @@ package com.pfefferminzia.petinsurance.animals; import java.time.LocalDate; public final record SmallAnimal(LocalDate birthday) implements Animal { + + @Override + public String speciesKey() { + return "SMALLANIMAL"; + } }