package ca.uhn.fhir.parser;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Extension;
import ca.uhn.fhir.model.api.annotation.ResourceDef;
import ca.uhn.fhir.model.dstu.resource.Patient;
import ca.uhn.fhir.model.primitive.BooleanDt;
import ca.uhn.fhir.model.primitive.DateDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.util.ElementUtil;
@ResourceDef(name = "Patient")
public class MyPatientWithUnorderedExtensions extends Patient {
@Extension(url = "urn:ex1", definedLocally = false, isModifier = false)
@Child(name = "extAtt")
private BooleanDt myExtAtt1;
@Extension(url = "urn:ex2", definedLocally = false, isModifier = false)
@Child(name = "moreExt")
private StringDt myExtAtt2;
@Extension(url = "urn:ex3", definedLocally = false, isModifier = false)
@Child(name = "modExt")
private DateDt myExtAtt3;
public BooleanDt getExtAtt1() {
if (myExtAtt1 == null) {
myExtAtt1 = new BooleanDt();
}
return myExtAtt1;
}
public StringDt getExtAtt2() {
if (myExtAtt2 == null) {
myExtAtt2 = new StringDt();
}
return myExtAtt2;
}
public DateDt getExtAtt3() {
if (myExtAtt3 == null) {
myExtAtt3 = new DateDt();
}
return myExtAtt3;
}
@Override
public boolean isEmpty() {
return super.isEmpty() && ElementUtil.isEmpty(myExtAtt1, myExtAtt3, myExtAtt2);
}
public void setExtAtt1(BooleanDt theExtAtt1) {
myExtAtt1 = theExtAtt1;
}
public void setExtAtt2(StringDt theExtAtt2) {
myExtAtt2 = theExtAtt2;
}
public void setExtAtt3(DateDt theExtAtt3) {
myExtAtt3 = theExtAtt3;
}
}