public VaccineType pickVaccineType()

in use-cases/vaccination-scheduling/src/main/java/org/acme/vaccinationscheduler/bootstrap/DemoDataGenerator.java [235:249]


    public VaccineType pickVaccineType(Random random, Integer age, List<VaccineType> vaccineTypeList) {
        List<VaccineType> suitableVaccineTypeList;
        if (age == null) {
            suitableVaccineTypeList = vaccineTypeList;
        } else {
            suitableVaccineTypeList = vaccineTypeList.stream()
                    .filter(vaccineType -> {
                        boolean minimumAgeOk = vaccineType.getMinimumAge() == null || age >= vaccineType.getMinimumAge();
                        boolean maximumAgeOk = vaccineType.getMaximumAge() == null || age <= vaccineType.getMaximumAge();
                        return minimumAgeOk && maximumAgeOk;
                    })
                    .collect(Collectors.toList());
        }
        return suitableVaccineTypeList.get(random.nextInt(suitableVaccineTypeList.size()));
    }