Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Man kan altså med denne validator tilladegruppere en række valideringer, og forvente at mindst een af dem vil kendes ved det input den får. Den/de "under-validering" som kendes ved input forventes så at udføre relevant validering.

Et eksempel på sådan en validering er CdaDocumentTypeValidator. Den er default konfigureret med en række "under-validatorer" der hver især kan håndtere en dokument type. Aktiveres CdaDocumentTypeValidator på et dokument, vil den "under-validator" der kendes ved dokumenttypen sørge for at validere specifikke regler for denne type. Kendes ingen af "under-validatorne" ved dokumentindholdet/typen, vil AtLeastOneValidatoren melde en fejl retur. Se følgende eksempel:Et eksempel

Code Block
languagejava
titleIti41ValidationFactory
linenumberstrue
collapsetrue
CdaDocumentTypeValidator cdaDocumentTypeValidator = new CdaDocumentTypeValidator();

CdaDocumentApdV2ModelEnricher cdaDocumentApdV2ModelEnricher = new CdaDocumentApdV2ModelEnricher();
cdaDocumentTypeValidator.appendValidator(cdaDocumentApdV2ModelEnricher);

Apd2StartStopTimeValidator apd2StartStopTimeValidator = new Apd2StartStopTimeValidator();
cdaDocumentApdV2ModelEnricher.appendValidator(apd2StartStopTimeValidator);

Apd2AppointmentIdValidator apd2AppointmentIdValidator = new Apd2AppointmentIdValidator();
cdaDocumentApdV2ModelEnricher.appendValidator(apd2AppointmentIdValidator);

Apd2CustodianIdValidator apd2CustodianIdValidator = new Apd2CustodianIdValidator(organisationCodeValidation);
cdaDocumentApdV2ModelEnricher.appendValidator(apd2CustodianIdValidator);

Det som kendetegner en almindelig validator er extension af klassen AbstractAtLeastOneValidatorImpl.

ModelEnricher

valideringen Dette er ikke en egentlig validator. "Valideringen" består af udpakning af noget input - så en indirekte validering af, at input forståes og regning af det data, der arbejdes på. Denne "berigelse" sættes på det indkomne objekt (deraf ModelEnricher) og senere validatorer kan så arbejde herpå.


Starter

adskiller sig fra en ModelEnricher ved, at den ikke modtager det fælles objekt XDSDocument, men istedet en request type. Dette request pakkes ud i et eller flere XDSDocument objekter, og Starter kører så sine under-validatorer på hver af disse objekter.

...