Summary Table
| Categories |
Total Count |
| PII |
0 |
| URL |
0 |
| DNS |
0 |
| EKL |
0 |
| IP |
0 |
| PORT |
0 |
| VsID |
0 |
| CF |
0 |
| AI |
0 |
| VPD |
0 |
| PL |
0 |
| Other |
0 |
File Content
package gov.va.vamf.scheduling.varutility.domain;
import com.agilex.healthcare.utility.NullChecker;
import gov.va.vamf.scheduling.varutility.exception.BasicValidationException;
import org.springframework.data.mongodb.core.mapping.Document;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
import java.util.List;
import static gov.va.vamf.scheduling.varutility.utils.VarUtilityConstants.DIRECT_SCHEDULING_METHOD;
@Document
@XmlAccessorType(value = XmlAccessType.NONE)
@XmlRootElement(namespace = Namespace.VarUtility)
public class DirectBookingEligibilityCriteria extends DomainBaseObject {
@XmlElement
private CoreSettings coreSettings;
public CoreSettings getCoreSettings() {
return coreSettings;
}
public void setCoreSettings(CoreSettings coreSettings) {
this.coreSettings = coreSettings;
}
public void validate(String siteCode, List<ClinicalServices> clinicalServices) {
ValidationErrors<DirectBookingEligibilityCriteria> errors = new ValidationErrors<DirectBookingEligibilityCriteria>();
if(NullChecker.isNullish(getId())) {
errors.add(new ValidationError("id", "id is required."));
} else if(! getId().equals(siteCode)) {
errors.add(new ValidationError("id", "id must match Site Code."));
}
ArrayList<ValidationError> coreSettingsErrors = getCoreSettings().validate(clinicalServices, DIRECT_SCHEDULING_METHOD);
errors.addAll(coreSettingsErrors);
if(errors.size() > 0) {
errors.setRequestObject(this);
throw new BasicValidationException(errors);
}
}
public void cleanupDataForSave() {
this.getCoreSettings().cleanupDataForSave();
}
}