org.phenopackets.schema.v1.core.IndividualValidator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of phenopacket-schema Show documentation
Show all versions of phenopacket-schema Show documentation
A Protobuf schema for capturing clinical phenotypes
// Code generated by protoc-gen-validate. DO NOT EDIT.
// source: base.proto
package org.phenopackets.schema.v1.core;
/**
* Validates {@code Individual} protobuf objects.
*/
public class IndividualValidator implements io.envoyproxy.pgv.ValidatorImpl{
public static io.envoyproxy.pgv.ValidatorImpl validatorFor(Class clazz) {
if (clazz.equals(org.phenopackets.schema.v1.core.Individual.class)) return new IndividualValidator();
return null;
}
public void assertValid(org.phenopackets.schema.v1.core.Individual proto, io.envoyproxy.pgv.ValidatorIndex index) throws io.envoyproxy.pgv.ValidationException {
// no validation rules for Id
io.envoyproxy.pgv.RepeatedValidation.forEach(proto.getAlternateIdsList(), item -> {
// no validation rules for AlternateIds
});
// Validate date_of_birth
if (proto.hasDateOfBirth()) index.validatorFor(proto.getDateOfBirth()).assertValid(proto.getDateOfBirth());
// no validation rules for Sex
// no validation rules for KaryotypicSex
// Validate taxonomy
if (proto.hasTaxonomy()) index.validatorFor(proto.getTaxonomy()).assertValid(proto.getTaxonomy());
switch (proto.getAgeCase()) {
case AGE_AT_COLLECTION:
// Validate age_at_collection
if (proto.hasAgeAtCollection()) index.validatorFor(proto.getAgeAtCollection()).assertValid(proto.getAgeAtCollection());
break;
case AGE_RANGE_AT_COLLECTION:
// Validate age_range_at_collection
if (proto.hasAgeRangeAtCollection()) index.validatorFor(proto.getAgeRangeAtCollection()).assertValid(proto.getAgeRangeAtCollection());
break;
}
}
}