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");
}
}
}