static void checkRules()

in src/main/java/org/openvasp/client/model/VaspMessage.java [169:203]


    static void checkRules(
            @NonNull final VaspMessage source,
            final BirthInfo birth,
            final List<NaturalPersonId> nat,
            final List<JuridicalPersonId> jur,
            final String bic) {

        if (birth != null || (nat != null && !nat.isEmpty())) {
            // Natural person
            if (StringUtils.isNotEmpty(bic)) {
                throw new VaspValidationException(source, "[bic] must be empty for Natural Person");
            }
            if (jur != null && !jur.isEmpty()) {
                throw new VaspValidationException(source, "[jur] must be empty for Natural Person");
            }
            if (nat != null) {
                for (val natPerson : nat) {
                    natPerson.validate(source);
                }
            }
        } else if (jur != null) {
            // Juridical person
            if (StringUtils.isNotEmpty(bic)) {
                throw new VaspValidationException(source, "[bic] must be empty for Juridical Person");
            }
            for (JuridicalPersonId jurPerson : jur) {
                jurPerson.validate(source);
            }
        } else {
            // Bank
            if (StringUtils.isEmpty(bic)) {
                throw new VaspValidationException(source, "[bic] must be present for Bank");
            }
        }
    }