All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gel.models.participant.avro.TumourSample Maven / Gradle / Ivy

/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */
package org.gel.models.participant.avro;  
@SuppressWarnings("all")
/** A tumour sample */
@org.apache.avro.specific.AvroGenerated
public class TumourSample extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"TumourSample\",\"namespace\":\"org.gel.models.participant.avro\",\"doc\":\"A tumour sample\",\"fields\":[{\"name\":\"sampleId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Sample identifier (e.g, LP00012645_5GH))\"},{\"name\":\"labSampleId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Lab sample identifier\"},{\"name\":\"LDPCode\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"LDP Code (Local Delivery Partner)\"},{\"name\":\"tumourId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"This is the ID of the tumour from which this tumour sample was taken from\"},{\"name\":\"programmePhase\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Genomics England programme phase\"},{\"name\":\"diseaseType\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"diseaseType\",\"symbols\":[\"ADULT_GLIOMA\",\"BLADDER\",\"BREAST\",\"CARCINOMA_OF_UNKNOWN_PRIMARY\",\"CHILDHOOD\",\"COLORECTAL\",\"ENDOCRINE\",\"ENDOMETRIAL_CARCINOMA\",\"HAEMONC\",\"HEPATOPANCREATOBILIARY\",\"LUNG\",\"MALIGNANT_MELANOMA\",\"NASOPHARYNGEAL\",\"ORAL_OROPHARYNGEAL\",\"OVARIAN\",\"PROSTATE\",\"RENAL\",\"SARCOMA\",\"SINONASAL\",\"TESTICULAR_GERM_CELL_TUMOURS\",\"UPPER_GASTROINTESTINAL\",\"OTHER\",\"NON_HODGKINS_B_CELL_LYMPHOMA_LOW_MOD_GRADE\",\"CLASSICAL_HODGKINS\",\"NODULAR_LYMPHOCYTE_PREDOMINANT_HODGKINS\",\"T_CELL_LYMPHOMA\"]}],\"doc\":\"Disease type.\\n        NOTE: Deprecated in GMS\"},{\"name\":\"diseaseSubType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Disease subtype.\\n        NOTE: Deprecated in GMS\"},{\"name\":\"haematologicalCancer\",\"type\":[\"null\",\"boolean\"],\"doc\":\"True or false if this sample is of type: Haematological Cancer\"},{\"name\":\"haematologicalCancerLineage\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"HaematologicalCancerLineage\",\"symbols\":[\"MYELOID\",\"LYMPHOID\",\"UNKNOWN\"]}],\"doc\":\"This is the Haematological cancer lineage of the tumourSample if this sample is from a haematological cancer\"},{\"name\":\"clinicalSampleDateTime\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The time when the sample was received. In the format YYYY-MM-DDTHH:MM:SS+0000\"},{\"name\":\"tumourType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Tumor type.\\n        NOTE: Deprecated in GMS in tumourSample but available in tumour record\"},{\"name\":\"tumourContent\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"TumourContent\",\"symbols\":[\"High\",\"Medium\",\"Low\"]}],\"doc\":\"This is the tumour content\"},{\"name\":\"tumourContentPercentage\",\"type\":[\"null\",\"float\"],\"doc\":\"This is the tumour content percentage\"},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"SampleSource\",\"doc\":\"The source of the sample\\n    NOTE: IN GMS, BONE_MARROW_ASPIRATE_TUMOUR_CELLS and BONE_MARROW_ASPIRATE_TUMOUR_SORTED_CELLS are deprecated as they have been separated into their respective biotypes\",\"symbols\":[\"AMNIOTIC_FLUID\",\"BLOOD\",\"BONE_MARROW\",\"BONE_MARROW_ASPIRATE_TUMOUR_CELLS\",\"BONE_MARROW_ASPIRATE_TUMOUR_SORTED_CELLS\",\"BUCCAL_SWAB\",\"CHORIONIC_VILLUS_SAMPLE\",\"FIBROBLAST\",\"FLUID\",\"FRESH_TISSUE_IN_CULTURE_MEDIUM\",\"OTHER\",\"SALIVA\",\"TISSUE\",\"TUMOUR\",\"URINE\"]}],\"doc\":\"Source of the sample\"},{\"name\":\"preparationMethod\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"PreparationMethod\",\"doc\":\"In 100K, preparation Method of sample\\n    NOTE: In GMS, this field is deprecated in favour of StorageMedium and Method\",\"symbols\":[\"ASPIRATE\",\"CD128_SORTED_CELLS\",\"CD138_SORTED_CELLS\",\"EDTA\",\"FF\",\"FFPE\",\"LI_HEP\",\"ORAGENE\"]}],\"doc\":\"The preparation method of the sample\\n        NOTE: Deprecated in GMS in replace of Method and storageMedium record\"},{\"name\":\"tissueSource\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The tissue source of the sample.\\n        NOTE: DEPRECATED IN GMS in replace of method record\"},{\"name\":\"product\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Product\",\"symbols\":[\"DNA\",\"RNA\"]}],\"doc\":\"Product of the sample\"},{\"name\":\"sampleMorphologies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Morphology\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term id or accession in OBO format ${ONTOLOGY_ID}:${TERM_ID} (http://www.obofoundry.org/id-policy.html)\"},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term name\"},{\"name\":\"value\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Optional value for the ontology term, the type of the value is not checked\\n        (i.e.: we could set the pvalue term to \\\"significant\\\" or to \\\"0.0001\\\")\"},{\"name\":\"version\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Ontology version\"}]}}],\"doc\":\"Morphology according to the sample taken\"},{\"name\":\"sampleTopographies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Topography\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term id or accession in OBO format ${ONTOLOGY_ID}:${TERM_ID} (http://www.obofoundry.org/id-policy.html)\"},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term name\"},{\"name\":\"value\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Optional value for the ontology term, the type of the value is not checked\\n        (i.e.: we could set the pvalue term to \\\"significant\\\" or to \\\"0.0001\\\")\"},{\"name\":\"version\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Ontology version\"}]}}],\"doc\":\"Topography according to the sample taken\"},{\"name\":\"sampleUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the GUID of the sample\"},{\"name\":\"participantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant Id of the sample\"},{\"name\":\"participantUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant UId of the sample\"},{\"name\":\"maskedPid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the maskedPID\"},{\"name\":\"method\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Method\",\"doc\":\"In GMS, Method is defined as how the sample was taken directly from the patient\",\"symbols\":[\"ASPIRATE\",\"BIOPSY\",\"NOT_APPLICABLE\",\"RESECTION\",\"SORTED_OTHER\",\"UNKNOWN\",\"UNSORTED\",\"CD138_SORTED\"]}],\"doc\":\"In GMS, this is how the sample was extracted from the participant\"},{\"name\":\"storageMedium\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"StorageMedium\",\"doc\":\"In GMS, storage medium of sample\",\"symbols\":[\"EDTA\",\"FF\",\"LI_HEP\",\"ORAGENE\",\"FFPE\"]}],\"doc\":\"In GMS, this is what solvent/medium the sample was stored in\"},{\"name\":\"sampleType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the sampleType as entered by the clinician in TOMs\"},{\"name\":\"sampleState\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the sampleState as entered by the clinician in TOMs\"}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  /** Sample identifier (e.g, LP00012645_5GH)) */
   private java.lang.String sampleId;
  /** Lab sample identifier */
   private java.lang.String labSampleId;
  /** LDP Code (Local Delivery Partner) */
   private java.lang.String LDPCode;
  /** This is the ID of the tumour from which this tumour sample was taken from */
   private java.lang.String tumourId;
  /** Genomics England programme phase */
   private java.lang.String programmePhase;
  /** Disease type.
        NOTE: Deprecated in GMS */
   private org.gel.models.participant.avro.diseaseType diseaseType;
  /** Disease subtype.
        NOTE: Deprecated in GMS */
   private java.lang.String diseaseSubType;
  /** True or false if this sample is of type: Haematological Cancer */
   private java.lang.Boolean haematologicalCancer;
  /** This is the Haematological cancer lineage of the tumourSample if this sample is from a haematological cancer */
   private org.gel.models.participant.avro.HaematologicalCancerLineage haematologicalCancerLineage;
  /** The time when the sample was received. In the format YYYY-MM-DDTHH:MM:SS+0000 */
   private java.lang.String clinicalSampleDateTime;
  /** Tumor type.
        NOTE: Deprecated in GMS in tumourSample but available in tumour record */
   private java.lang.String tumourType;
  /** This is the tumour content */
   private org.gel.models.participant.avro.TumourContent tumourContent;
  /** This is the tumour content percentage */
   private java.lang.Float tumourContentPercentage;
  /** Source of the sample */
   private org.gel.models.participant.avro.SampleSource source;
  /** The preparation method of the sample
        NOTE: Deprecated in GMS in replace of Method and storageMedium record */
   private org.gel.models.participant.avro.PreparationMethod preparationMethod;
  /** The tissue source of the sample.
        NOTE: DEPRECATED IN GMS in replace of method record */
   private java.lang.String tissueSource;
  /** Product of the sample */
   private org.gel.models.participant.avro.Product product;
  /** Morphology according to the sample taken */
   private java.util.List sampleMorphologies;
  /** Topography according to the sample taken */
   private java.util.List sampleTopographies;
  /** In GMS, this is the GUID of the sample */
   private java.lang.String sampleUid;
  /** Participant Id of the sample */
   private java.lang.String participantId;
  /** Participant UId of the sample */
   private java.lang.String participantUid;
  /** In GMS, this is the maskedPID */
   private java.lang.String maskedPid;
  /** In GMS, this is how the sample was extracted from the participant */
   private org.gel.models.participant.avro.Method method;
  /** In GMS, this is what solvent/medium the sample was stored in */
   private org.gel.models.participant.avro.StorageMedium storageMedium;
  /** In GMS, this is the sampleType as entered by the clinician in TOMs */
   private java.lang.String sampleType;
  /** In GMS, this is the sampleState as entered by the clinician in TOMs */
   private java.lang.String sampleState;

  /**
   * Default constructor.  Note that this does not initialize fields
   * to their default values from the schema.  If that is desired then
   * one should use newBuilder(). 
   */
  public TumourSample() {}

  /**
   * All-args constructor.
   */
  public TumourSample(java.lang.String sampleId, java.lang.String labSampleId, java.lang.String LDPCode, java.lang.String tumourId, java.lang.String programmePhase, org.gel.models.participant.avro.diseaseType diseaseType, java.lang.String diseaseSubType, java.lang.Boolean haematologicalCancer, org.gel.models.participant.avro.HaematologicalCancerLineage haematologicalCancerLineage, java.lang.String clinicalSampleDateTime, java.lang.String tumourType, org.gel.models.participant.avro.TumourContent tumourContent, java.lang.Float tumourContentPercentage, org.gel.models.participant.avro.SampleSource source, org.gel.models.participant.avro.PreparationMethod preparationMethod, java.lang.String tissueSource, org.gel.models.participant.avro.Product product, java.util.List sampleMorphologies, java.util.List sampleTopographies, java.lang.String sampleUid, java.lang.String participantId, java.lang.String participantUid, java.lang.String maskedPid, org.gel.models.participant.avro.Method method, org.gel.models.participant.avro.StorageMedium storageMedium, java.lang.String sampleType, java.lang.String sampleState) {
    this.sampleId = sampleId;
    this.labSampleId = labSampleId;
    this.LDPCode = LDPCode;
    this.tumourId = tumourId;
    this.programmePhase = programmePhase;
    this.diseaseType = diseaseType;
    this.diseaseSubType = diseaseSubType;
    this.haematologicalCancer = haematologicalCancer;
    this.haematologicalCancerLineage = haematologicalCancerLineage;
    this.clinicalSampleDateTime = clinicalSampleDateTime;
    this.tumourType = tumourType;
    this.tumourContent = tumourContent;
    this.tumourContentPercentage = tumourContentPercentage;
    this.source = source;
    this.preparationMethod = preparationMethod;
    this.tissueSource = tissueSource;
    this.product = product;
    this.sampleMorphologies = sampleMorphologies;
    this.sampleTopographies = sampleTopographies;
    this.sampleUid = sampleUid;
    this.participantId = participantId;
    this.participantUid = participantUid;
    this.maskedPid = maskedPid;
    this.method = method;
    this.storageMedium = storageMedium;
    this.sampleType = sampleType;
    this.sampleState = sampleState;
  }

  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
  // Used by DatumWriter.  Applications should not call. 
  public java.lang.Object get(int field$) {
    switch (field$) {
    case 0: return sampleId;
    case 1: return labSampleId;
    case 2: return LDPCode;
    case 3: return tumourId;
    case 4: return programmePhase;
    case 5: return diseaseType;
    case 6: return diseaseSubType;
    case 7: return haematologicalCancer;
    case 8: return haematologicalCancerLineage;
    case 9: return clinicalSampleDateTime;
    case 10: return tumourType;
    case 11: return tumourContent;
    case 12: return tumourContentPercentage;
    case 13: return source;
    case 14: return preparationMethod;
    case 15: return tissueSource;
    case 16: return product;
    case 17: return sampleMorphologies;
    case 18: return sampleTopographies;
    case 19: return sampleUid;
    case 20: return participantId;
    case 21: return participantUid;
    case 22: return maskedPid;
    case 23: return method;
    case 24: return storageMedium;
    case 25: return sampleType;
    case 26: return sampleState;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }
  // Used by DatumReader.  Applications should not call. 
  @SuppressWarnings(value="unchecked")
  public void put(int field$, java.lang.Object value$) {
    switch (field$) {
    case 0: sampleId = (java.lang.String)value$; break;
    case 1: labSampleId = (java.lang.String)value$; break;
    case 2: LDPCode = (java.lang.String)value$; break;
    case 3: tumourId = (java.lang.String)value$; break;
    case 4: programmePhase = (java.lang.String)value$; break;
    case 5: diseaseType = (org.gel.models.participant.avro.diseaseType)value$; break;
    case 6: diseaseSubType = (java.lang.String)value$; break;
    case 7: haematologicalCancer = (java.lang.Boolean)value$; break;
    case 8: haematologicalCancerLineage = (org.gel.models.participant.avro.HaematologicalCancerLineage)value$; break;
    case 9: clinicalSampleDateTime = (java.lang.String)value$; break;
    case 10: tumourType = (java.lang.String)value$; break;
    case 11: tumourContent = (org.gel.models.participant.avro.TumourContent)value$; break;
    case 12: tumourContentPercentage = (java.lang.Float)value$; break;
    case 13: source = (org.gel.models.participant.avro.SampleSource)value$; break;
    case 14: preparationMethod = (org.gel.models.participant.avro.PreparationMethod)value$; break;
    case 15: tissueSource = (java.lang.String)value$; break;
    case 16: product = (org.gel.models.participant.avro.Product)value$; break;
    case 17: sampleMorphologies = (java.util.List)value$; break;
    case 18: sampleTopographies = (java.util.List)value$; break;
    case 19: sampleUid = (java.lang.String)value$; break;
    case 20: participantId = (java.lang.String)value$; break;
    case 21: participantUid = (java.lang.String)value$; break;
    case 22: maskedPid = (java.lang.String)value$; break;
    case 23: method = (org.gel.models.participant.avro.Method)value$; break;
    case 24: storageMedium = (org.gel.models.participant.avro.StorageMedium)value$; break;
    case 25: sampleType = (java.lang.String)value$; break;
    case 26: sampleState = (java.lang.String)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'sampleId' field.
   * Sample identifier (e.g, LP00012645_5GH))   */
  public java.lang.String getSampleId() {
    return sampleId;
  }

  /**
   * Sets the value of the 'sampleId' field.
   * Sample identifier (e.g, LP00012645_5GH))   * @param value the value to set.
   */
  public void setSampleId(java.lang.String value) {
    this.sampleId = value;
  }

  /**
   * Gets the value of the 'labSampleId' field.
   * Lab sample identifier   */
  public java.lang.String getLabSampleId() {
    return labSampleId;
  }

  /**
   * Sets the value of the 'labSampleId' field.
   * Lab sample identifier   * @param value the value to set.
   */
  public void setLabSampleId(java.lang.String value) {
    this.labSampleId = value;
  }

  /**
   * Gets the value of the 'LDPCode' field.
   * LDP Code (Local Delivery Partner)   */
  public java.lang.String getLDPCode() {
    return LDPCode;
  }

  /**
   * Sets the value of the 'LDPCode' field.
   * LDP Code (Local Delivery Partner)   * @param value the value to set.
   */
  public void setLDPCode(java.lang.String value) {
    this.LDPCode = value;
  }

  /**
   * Gets the value of the 'tumourId' field.
   * This is the ID of the tumour from which this tumour sample was taken from   */
  public java.lang.String getTumourId() {
    return tumourId;
  }

  /**
   * Sets the value of the 'tumourId' field.
   * This is the ID of the tumour from which this tumour sample was taken from   * @param value the value to set.
   */
  public void setTumourId(java.lang.String value) {
    this.tumourId = value;
  }

  /**
   * Gets the value of the 'programmePhase' field.
   * Genomics England programme phase   */
  public java.lang.String getProgrammePhase() {
    return programmePhase;
  }

  /**
   * Sets the value of the 'programmePhase' field.
   * Genomics England programme phase   * @param value the value to set.
   */
  public void setProgrammePhase(java.lang.String value) {
    this.programmePhase = value;
  }

  /**
   * Gets the value of the 'diseaseType' field.
   * Disease type.
        NOTE: Deprecated in GMS   */
  public org.gel.models.participant.avro.diseaseType getDiseaseType() {
    return diseaseType;
  }

  /**
   * Sets the value of the 'diseaseType' field.
   * Disease type.
        NOTE: Deprecated in GMS   * @param value the value to set.
   */
  public void setDiseaseType(org.gel.models.participant.avro.diseaseType value) {
    this.diseaseType = value;
  }

  /**
   * Gets the value of the 'diseaseSubType' field.
   * Disease subtype.
        NOTE: Deprecated in GMS   */
  public java.lang.String getDiseaseSubType() {
    return diseaseSubType;
  }

  /**
   * Sets the value of the 'diseaseSubType' field.
   * Disease subtype.
        NOTE: Deprecated in GMS   * @param value the value to set.
   */
  public void setDiseaseSubType(java.lang.String value) {
    this.diseaseSubType = value;
  }

  /**
   * Gets the value of the 'haematologicalCancer' field.
   * True or false if this sample is of type: Haematological Cancer   */
  public java.lang.Boolean getHaematologicalCancer() {
    return haematologicalCancer;
  }

  /**
   * Sets the value of the 'haematologicalCancer' field.
   * True or false if this sample is of type: Haematological Cancer   * @param value the value to set.
   */
  public void setHaematologicalCancer(java.lang.Boolean value) {
    this.haematologicalCancer = value;
  }

  /**
   * Gets the value of the 'haematologicalCancerLineage' field.
   * This is the Haematological cancer lineage of the tumourSample if this sample is from a haematological cancer   */
  public org.gel.models.participant.avro.HaematologicalCancerLineage getHaematologicalCancerLineage() {
    return haematologicalCancerLineage;
  }

  /**
   * Sets the value of the 'haematologicalCancerLineage' field.
   * This is the Haematological cancer lineage of the tumourSample if this sample is from a haematological cancer   * @param value the value to set.
   */
  public void setHaematologicalCancerLineage(org.gel.models.participant.avro.HaematologicalCancerLineage value) {
    this.haematologicalCancerLineage = value;
  }

  /**
   * Gets the value of the 'clinicalSampleDateTime' field.
   * The time when the sample was received. In the format YYYY-MM-DDTHH:MM:SS+0000   */
  public java.lang.String getClinicalSampleDateTime() {
    return clinicalSampleDateTime;
  }

  /**
   * Sets the value of the 'clinicalSampleDateTime' field.
   * The time when the sample was received. In the format YYYY-MM-DDTHH:MM:SS+0000   * @param value the value to set.
   */
  public void setClinicalSampleDateTime(java.lang.String value) {
    this.clinicalSampleDateTime = value;
  }

  /**
   * Gets the value of the 'tumourType' field.
   * Tumor type.
        NOTE: Deprecated in GMS in tumourSample but available in tumour record   */
  public java.lang.String getTumourType() {
    return tumourType;
  }

  /**
   * Sets the value of the 'tumourType' field.
   * Tumor type.
        NOTE: Deprecated in GMS in tumourSample but available in tumour record   * @param value the value to set.
   */
  public void setTumourType(java.lang.String value) {
    this.tumourType = value;
  }

  /**
   * Gets the value of the 'tumourContent' field.
   * This is the tumour content   */
  public org.gel.models.participant.avro.TumourContent getTumourContent() {
    return tumourContent;
  }

  /**
   * Sets the value of the 'tumourContent' field.
   * This is the tumour content   * @param value the value to set.
   */
  public void setTumourContent(org.gel.models.participant.avro.TumourContent value) {
    this.tumourContent = value;
  }

  /**
   * Gets the value of the 'tumourContentPercentage' field.
   * This is the tumour content percentage   */
  public java.lang.Float getTumourContentPercentage() {
    return tumourContentPercentage;
  }

  /**
   * Sets the value of the 'tumourContentPercentage' field.
   * This is the tumour content percentage   * @param value the value to set.
   */
  public void setTumourContentPercentage(java.lang.Float value) {
    this.tumourContentPercentage = value;
  }

  /**
   * Gets the value of the 'source' field.
   * Source of the sample   */
  public org.gel.models.participant.avro.SampleSource getSource() {
    return source;
  }

  /**
   * Sets the value of the 'source' field.
   * Source of the sample   * @param value the value to set.
   */
  public void setSource(org.gel.models.participant.avro.SampleSource value) {
    this.source = value;
  }

  /**
   * Gets the value of the 'preparationMethod' field.
   * The preparation method of the sample
        NOTE: Deprecated in GMS in replace of Method and storageMedium record   */
  public org.gel.models.participant.avro.PreparationMethod getPreparationMethod() {
    return preparationMethod;
  }

  /**
   * Sets the value of the 'preparationMethod' field.
   * The preparation method of the sample
        NOTE: Deprecated in GMS in replace of Method and storageMedium record   * @param value the value to set.
   */
  public void setPreparationMethod(org.gel.models.participant.avro.PreparationMethod value) {
    this.preparationMethod = value;
  }

  /**
   * Gets the value of the 'tissueSource' field.
   * The tissue source of the sample.
        NOTE: DEPRECATED IN GMS in replace of method record   */
  public java.lang.String getTissueSource() {
    return tissueSource;
  }

  /**
   * Sets the value of the 'tissueSource' field.
   * The tissue source of the sample.
        NOTE: DEPRECATED IN GMS in replace of method record   * @param value the value to set.
   */
  public void setTissueSource(java.lang.String value) {
    this.tissueSource = value;
  }

  /**
   * Gets the value of the 'product' field.
   * Product of the sample   */
  public org.gel.models.participant.avro.Product getProduct() {
    return product;
  }

  /**
   * Sets the value of the 'product' field.
   * Product of the sample   * @param value the value to set.
   */
  public void setProduct(org.gel.models.participant.avro.Product value) {
    this.product = value;
  }

  /**
   * Gets the value of the 'sampleMorphologies' field.
   * Morphology according to the sample taken   */
  public java.util.List getSampleMorphologies() {
    return sampleMorphologies;
  }

  /**
   * Sets the value of the 'sampleMorphologies' field.
   * Morphology according to the sample taken   * @param value the value to set.
   */
  public void setSampleMorphologies(java.util.List value) {
    this.sampleMorphologies = value;
  }

  /**
   * Gets the value of the 'sampleTopographies' field.
   * Topography according to the sample taken   */
  public java.util.List getSampleTopographies() {
    return sampleTopographies;
  }

  /**
   * Sets the value of the 'sampleTopographies' field.
   * Topography according to the sample taken   * @param value the value to set.
   */
  public void setSampleTopographies(java.util.List value) {
    this.sampleTopographies = value;
  }

  /**
   * Gets the value of the 'sampleUid' field.
   * In GMS, this is the GUID of the sample   */
  public java.lang.String getSampleUid() {
    return sampleUid;
  }

  /**
   * Sets the value of the 'sampleUid' field.
   * In GMS, this is the GUID of the sample   * @param value the value to set.
   */
  public void setSampleUid(java.lang.String value) {
    this.sampleUid = value;
  }

  /**
   * Gets the value of the 'participantId' field.
   * Participant Id of the sample   */
  public java.lang.String getParticipantId() {
    return participantId;
  }

  /**
   * Sets the value of the 'participantId' field.
   * Participant Id of the sample   * @param value the value to set.
   */
  public void setParticipantId(java.lang.String value) {
    this.participantId = value;
  }

  /**
   * Gets the value of the 'participantUid' field.
   * Participant UId of the sample   */
  public java.lang.String getParticipantUid() {
    return participantUid;
  }

  /**
   * Sets the value of the 'participantUid' field.
   * Participant UId of the sample   * @param value the value to set.
   */
  public void setParticipantUid(java.lang.String value) {
    this.participantUid = value;
  }

  /**
   * Gets the value of the 'maskedPid' field.
   * In GMS, this is the maskedPID   */
  public java.lang.String getMaskedPid() {
    return maskedPid;
  }

  /**
   * Sets the value of the 'maskedPid' field.
   * In GMS, this is the maskedPID   * @param value the value to set.
   */
  public void setMaskedPid(java.lang.String value) {
    this.maskedPid = value;
  }

  /**
   * Gets the value of the 'method' field.
   * In GMS, this is how the sample was extracted from the participant   */
  public org.gel.models.participant.avro.Method getMethod() {
    return method;
  }

  /**
   * Sets the value of the 'method' field.
   * In GMS, this is how the sample was extracted from the participant   * @param value the value to set.
   */
  public void setMethod(org.gel.models.participant.avro.Method value) {
    this.method = value;
  }

  /**
   * Gets the value of the 'storageMedium' field.
   * In GMS, this is what solvent/medium the sample was stored in   */
  public org.gel.models.participant.avro.StorageMedium getStorageMedium() {
    return storageMedium;
  }

  /**
   * Sets the value of the 'storageMedium' field.
   * In GMS, this is what solvent/medium the sample was stored in   * @param value the value to set.
   */
  public void setStorageMedium(org.gel.models.participant.avro.StorageMedium value) {
    this.storageMedium = value;
  }

  /**
   * Gets the value of the 'sampleType' field.
   * In GMS, this is the sampleType as entered by the clinician in TOMs   */
  public java.lang.String getSampleType() {
    return sampleType;
  }

  /**
   * Sets the value of the 'sampleType' field.
   * In GMS, this is the sampleType as entered by the clinician in TOMs   * @param value the value to set.
   */
  public void setSampleType(java.lang.String value) {
    this.sampleType = value;
  }

  /**
   * Gets the value of the 'sampleState' field.
   * In GMS, this is the sampleState as entered by the clinician in TOMs   */
  public java.lang.String getSampleState() {
    return sampleState;
  }

  /**
   * Sets the value of the 'sampleState' field.
   * In GMS, this is the sampleState as entered by the clinician in TOMs   * @param value the value to set.
   */
  public void setSampleState(java.lang.String value) {
    this.sampleState = value;
  }

  /** Creates a new TumourSample RecordBuilder */
  public static org.gel.models.participant.avro.TumourSample.Builder newBuilder() {
    return new org.gel.models.participant.avro.TumourSample.Builder();
  }
  
  /** Creates a new TumourSample RecordBuilder by copying an existing Builder */
  public static org.gel.models.participant.avro.TumourSample.Builder newBuilder(org.gel.models.participant.avro.TumourSample.Builder other) {
    return new org.gel.models.participant.avro.TumourSample.Builder(other);
  }
  
  /** Creates a new TumourSample RecordBuilder by copying an existing TumourSample instance */
  public static org.gel.models.participant.avro.TumourSample.Builder newBuilder(org.gel.models.participant.avro.TumourSample other) {
    return new org.gel.models.participant.avro.TumourSample.Builder(other);
  }
  
  /**
   * RecordBuilder for TumourSample instances.
   */
  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
    implements org.apache.avro.data.RecordBuilder {

    private java.lang.String sampleId;
    private java.lang.String labSampleId;
    private java.lang.String LDPCode;
    private java.lang.String tumourId;
    private java.lang.String programmePhase;
    private org.gel.models.participant.avro.diseaseType diseaseType;
    private java.lang.String diseaseSubType;
    private java.lang.Boolean haematologicalCancer;
    private org.gel.models.participant.avro.HaematologicalCancerLineage haematologicalCancerLineage;
    private java.lang.String clinicalSampleDateTime;
    private java.lang.String tumourType;
    private org.gel.models.participant.avro.TumourContent tumourContent;
    private java.lang.Float tumourContentPercentage;
    private org.gel.models.participant.avro.SampleSource source;
    private org.gel.models.participant.avro.PreparationMethod preparationMethod;
    private java.lang.String tissueSource;
    private org.gel.models.participant.avro.Product product;
    private java.util.List sampleMorphologies;
    private java.util.List sampleTopographies;
    private java.lang.String sampleUid;
    private java.lang.String participantId;
    private java.lang.String participantUid;
    private java.lang.String maskedPid;
    private org.gel.models.participant.avro.Method method;
    private org.gel.models.participant.avro.StorageMedium storageMedium;
    private java.lang.String sampleType;
    private java.lang.String sampleState;

    /** Creates a new Builder */
    private Builder() {
      super(org.gel.models.participant.avro.TumourSample.SCHEMA$);
    }
    
    /** Creates a Builder by copying an existing Builder */
    private Builder(org.gel.models.participant.avro.TumourSample.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.sampleId)) {
        this.sampleId = data().deepCopy(fields()[0].schema(), other.sampleId);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.labSampleId)) {
        this.labSampleId = data().deepCopy(fields()[1].schema(), other.labSampleId);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.LDPCode)) {
        this.LDPCode = data().deepCopy(fields()[2].schema(), other.LDPCode);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.tumourId)) {
        this.tumourId = data().deepCopy(fields()[3].schema(), other.tumourId);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.programmePhase)) {
        this.programmePhase = data().deepCopy(fields()[4].schema(), other.programmePhase);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.diseaseType)) {
        this.diseaseType = data().deepCopy(fields()[5].schema(), other.diseaseType);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.diseaseSubType)) {
        this.diseaseSubType = data().deepCopy(fields()[6].schema(), other.diseaseSubType);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.haematologicalCancer)) {
        this.haematologicalCancer = data().deepCopy(fields()[7].schema(), other.haematologicalCancer);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.haematologicalCancerLineage)) {
        this.haematologicalCancerLineage = data().deepCopy(fields()[8].schema(), other.haematologicalCancerLineage);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.clinicalSampleDateTime)) {
        this.clinicalSampleDateTime = data().deepCopy(fields()[9].schema(), other.clinicalSampleDateTime);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.tumourType)) {
        this.tumourType = data().deepCopy(fields()[10].schema(), other.tumourType);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.tumourContent)) {
        this.tumourContent = data().deepCopy(fields()[11].schema(), other.tumourContent);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.tumourContentPercentage)) {
        this.tumourContentPercentage = data().deepCopy(fields()[12].schema(), other.tumourContentPercentage);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.source)) {
        this.source = data().deepCopy(fields()[13].schema(), other.source);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.preparationMethod)) {
        this.preparationMethod = data().deepCopy(fields()[14].schema(), other.preparationMethod);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.tissueSource)) {
        this.tissueSource = data().deepCopy(fields()[15].schema(), other.tissueSource);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.product)) {
        this.product = data().deepCopy(fields()[16].schema(), other.product);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.sampleMorphologies)) {
        this.sampleMorphologies = data().deepCopy(fields()[17].schema(), other.sampleMorphologies);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.sampleTopographies)) {
        this.sampleTopographies = data().deepCopy(fields()[18].schema(), other.sampleTopographies);
        fieldSetFlags()[18] = true;
      }
      if (isValidValue(fields()[19], other.sampleUid)) {
        this.sampleUid = data().deepCopy(fields()[19].schema(), other.sampleUid);
        fieldSetFlags()[19] = true;
      }
      if (isValidValue(fields()[20], other.participantId)) {
        this.participantId = data().deepCopy(fields()[20].schema(), other.participantId);
        fieldSetFlags()[20] = true;
      }
      if (isValidValue(fields()[21], other.participantUid)) {
        this.participantUid = data().deepCopy(fields()[21].schema(), other.participantUid);
        fieldSetFlags()[21] = true;
      }
      if (isValidValue(fields()[22], other.maskedPid)) {
        this.maskedPid = data().deepCopy(fields()[22].schema(), other.maskedPid);
        fieldSetFlags()[22] = true;
      }
      if (isValidValue(fields()[23], other.method)) {
        this.method = data().deepCopy(fields()[23].schema(), other.method);
        fieldSetFlags()[23] = true;
      }
      if (isValidValue(fields()[24], other.storageMedium)) {
        this.storageMedium = data().deepCopy(fields()[24].schema(), other.storageMedium);
        fieldSetFlags()[24] = true;
      }
      if (isValidValue(fields()[25], other.sampleType)) {
        this.sampleType = data().deepCopy(fields()[25].schema(), other.sampleType);
        fieldSetFlags()[25] = true;
      }
      if (isValidValue(fields()[26], other.sampleState)) {
        this.sampleState = data().deepCopy(fields()[26].schema(), other.sampleState);
        fieldSetFlags()[26] = true;
      }
    }
    
    /** Creates a Builder by copying an existing TumourSample instance */
    private Builder(org.gel.models.participant.avro.TumourSample other) {
            super(org.gel.models.participant.avro.TumourSample.SCHEMA$);
      if (isValidValue(fields()[0], other.sampleId)) {
        this.sampleId = data().deepCopy(fields()[0].schema(), other.sampleId);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.labSampleId)) {
        this.labSampleId = data().deepCopy(fields()[1].schema(), other.labSampleId);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.LDPCode)) {
        this.LDPCode = data().deepCopy(fields()[2].schema(), other.LDPCode);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.tumourId)) {
        this.tumourId = data().deepCopy(fields()[3].schema(), other.tumourId);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.programmePhase)) {
        this.programmePhase = data().deepCopy(fields()[4].schema(), other.programmePhase);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.diseaseType)) {
        this.diseaseType = data().deepCopy(fields()[5].schema(), other.diseaseType);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.diseaseSubType)) {
        this.diseaseSubType = data().deepCopy(fields()[6].schema(), other.diseaseSubType);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.haematologicalCancer)) {
        this.haematologicalCancer = data().deepCopy(fields()[7].schema(), other.haematologicalCancer);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.haematologicalCancerLineage)) {
        this.haematologicalCancerLineage = data().deepCopy(fields()[8].schema(), other.haematologicalCancerLineage);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.clinicalSampleDateTime)) {
        this.clinicalSampleDateTime = data().deepCopy(fields()[9].schema(), other.clinicalSampleDateTime);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.tumourType)) {
        this.tumourType = data().deepCopy(fields()[10].schema(), other.tumourType);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.tumourContent)) {
        this.tumourContent = data().deepCopy(fields()[11].schema(), other.tumourContent);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.tumourContentPercentage)) {
        this.tumourContentPercentage = data().deepCopy(fields()[12].schema(), other.tumourContentPercentage);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.source)) {
        this.source = data().deepCopy(fields()[13].schema(), other.source);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.preparationMethod)) {
        this.preparationMethod = data().deepCopy(fields()[14].schema(), other.preparationMethod);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.tissueSource)) {
        this.tissueSource = data().deepCopy(fields()[15].schema(), other.tissueSource);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.product)) {
        this.product = data().deepCopy(fields()[16].schema(), other.product);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.sampleMorphologies)) {
        this.sampleMorphologies = data().deepCopy(fields()[17].schema(), other.sampleMorphologies);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.sampleTopographies)) {
        this.sampleTopographies = data().deepCopy(fields()[18].schema(), other.sampleTopographies);
        fieldSetFlags()[18] = true;
      }
      if (isValidValue(fields()[19], other.sampleUid)) {
        this.sampleUid = data().deepCopy(fields()[19].schema(), other.sampleUid);
        fieldSetFlags()[19] = true;
      }
      if (isValidValue(fields()[20], other.participantId)) {
        this.participantId = data().deepCopy(fields()[20].schema(), other.participantId);
        fieldSetFlags()[20] = true;
      }
      if (isValidValue(fields()[21], other.participantUid)) {
        this.participantUid = data().deepCopy(fields()[21].schema(), other.participantUid);
        fieldSetFlags()[21] = true;
      }
      if (isValidValue(fields()[22], other.maskedPid)) {
        this.maskedPid = data().deepCopy(fields()[22].schema(), other.maskedPid);
        fieldSetFlags()[22] = true;
      }
      if (isValidValue(fields()[23], other.method)) {
        this.method = data().deepCopy(fields()[23].schema(), other.method);
        fieldSetFlags()[23] = true;
      }
      if (isValidValue(fields()[24], other.storageMedium)) {
        this.storageMedium = data().deepCopy(fields()[24].schema(), other.storageMedium);
        fieldSetFlags()[24] = true;
      }
      if (isValidValue(fields()[25], other.sampleType)) {
        this.sampleType = data().deepCopy(fields()[25].schema(), other.sampleType);
        fieldSetFlags()[25] = true;
      }
      if (isValidValue(fields()[26], other.sampleState)) {
        this.sampleState = data().deepCopy(fields()[26].schema(), other.sampleState);
        fieldSetFlags()[26] = true;
      }
    }

    /** Gets the value of the 'sampleId' field */
    public java.lang.String getSampleId() {
      return sampleId;
    }
    
    /** Sets the value of the 'sampleId' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSampleId(java.lang.String value) {
      validate(fields()[0], value);
      this.sampleId = value;
      fieldSetFlags()[0] = true;
      return this; 
    }
    
    /** Checks whether the 'sampleId' field has been set */
    public boolean hasSampleId() {
      return fieldSetFlags()[0];
    }
    
    /** Clears the value of the 'sampleId' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSampleId() {
      sampleId = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /** Gets the value of the 'labSampleId' field */
    public java.lang.String getLabSampleId() {
      return labSampleId;
    }
    
    /** Sets the value of the 'labSampleId' field */
    public org.gel.models.participant.avro.TumourSample.Builder setLabSampleId(java.lang.String value) {
      validate(fields()[1], value);
      this.labSampleId = value;
      fieldSetFlags()[1] = true;
      return this; 
    }
    
    /** Checks whether the 'labSampleId' field has been set */
    public boolean hasLabSampleId() {
      return fieldSetFlags()[1];
    }
    
    /** Clears the value of the 'labSampleId' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearLabSampleId() {
      labSampleId = null;
      fieldSetFlags()[1] = false;
      return this;
    }

    /** Gets the value of the 'LDPCode' field */
    public java.lang.String getLDPCode() {
      return LDPCode;
    }
    
    /** Sets the value of the 'LDPCode' field */
    public org.gel.models.participant.avro.TumourSample.Builder setLDPCode(java.lang.String value) {
      validate(fields()[2], value);
      this.LDPCode = value;
      fieldSetFlags()[2] = true;
      return this; 
    }
    
    /** Checks whether the 'LDPCode' field has been set */
    public boolean hasLDPCode() {
      return fieldSetFlags()[2];
    }
    
    /** Clears the value of the 'LDPCode' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearLDPCode() {
      LDPCode = null;
      fieldSetFlags()[2] = false;
      return this;
    }

    /** Gets the value of the 'tumourId' field */
    public java.lang.String getTumourId() {
      return tumourId;
    }
    
    /** Sets the value of the 'tumourId' field */
    public org.gel.models.participant.avro.TumourSample.Builder setTumourId(java.lang.String value) {
      validate(fields()[3], value);
      this.tumourId = value;
      fieldSetFlags()[3] = true;
      return this; 
    }
    
    /** Checks whether the 'tumourId' field has been set */
    public boolean hasTumourId() {
      return fieldSetFlags()[3];
    }
    
    /** Clears the value of the 'tumourId' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearTumourId() {
      tumourId = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /** Gets the value of the 'programmePhase' field */
    public java.lang.String getProgrammePhase() {
      return programmePhase;
    }
    
    /** Sets the value of the 'programmePhase' field */
    public org.gel.models.participant.avro.TumourSample.Builder setProgrammePhase(java.lang.String value) {
      validate(fields()[4], value);
      this.programmePhase = value;
      fieldSetFlags()[4] = true;
      return this; 
    }
    
    /** Checks whether the 'programmePhase' field has been set */
    public boolean hasProgrammePhase() {
      return fieldSetFlags()[4];
    }
    
    /** Clears the value of the 'programmePhase' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearProgrammePhase() {
      programmePhase = null;
      fieldSetFlags()[4] = false;
      return this;
    }

    /** Gets the value of the 'diseaseType' field */
    public org.gel.models.participant.avro.diseaseType getDiseaseType() {
      return diseaseType;
    }
    
    /** Sets the value of the 'diseaseType' field */
    public org.gel.models.participant.avro.TumourSample.Builder setDiseaseType(org.gel.models.participant.avro.diseaseType value) {
      validate(fields()[5], value);
      this.diseaseType = value;
      fieldSetFlags()[5] = true;
      return this; 
    }
    
    /** Checks whether the 'diseaseType' field has been set */
    public boolean hasDiseaseType() {
      return fieldSetFlags()[5];
    }
    
    /** Clears the value of the 'diseaseType' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearDiseaseType() {
      diseaseType = null;
      fieldSetFlags()[5] = false;
      return this;
    }

    /** Gets the value of the 'diseaseSubType' field */
    public java.lang.String getDiseaseSubType() {
      return diseaseSubType;
    }
    
    /** Sets the value of the 'diseaseSubType' field */
    public org.gel.models.participant.avro.TumourSample.Builder setDiseaseSubType(java.lang.String value) {
      validate(fields()[6], value);
      this.diseaseSubType = value;
      fieldSetFlags()[6] = true;
      return this; 
    }
    
    /** Checks whether the 'diseaseSubType' field has been set */
    public boolean hasDiseaseSubType() {
      return fieldSetFlags()[6];
    }
    
    /** Clears the value of the 'diseaseSubType' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearDiseaseSubType() {
      diseaseSubType = null;
      fieldSetFlags()[6] = false;
      return this;
    }

    /** Gets the value of the 'haematologicalCancer' field */
    public java.lang.Boolean getHaematologicalCancer() {
      return haematologicalCancer;
    }
    
    /** Sets the value of the 'haematologicalCancer' field */
    public org.gel.models.participant.avro.TumourSample.Builder setHaematologicalCancer(java.lang.Boolean value) {
      validate(fields()[7], value);
      this.haematologicalCancer = value;
      fieldSetFlags()[7] = true;
      return this; 
    }
    
    /** Checks whether the 'haematologicalCancer' field has been set */
    public boolean hasHaematologicalCancer() {
      return fieldSetFlags()[7];
    }
    
    /** Clears the value of the 'haematologicalCancer' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearHaematologicalCancer() {
      haematologicalCancer = null;
      fieldSetFlags()[7] = false;
      return this;
    }

    /** Gets the value of the 'haematologicalCancerLineage' field */
    public org.gel.models.participant.avro.HaematologicalCancerLineage getHaematologicalCancerLineage() {
      return haematologicalCancerLineage;
    }
    
    /** Sets the value of the 'haematologicalCancerLineage' field */
    public org.gel.models.participant.avro.TumourSample.Builder setHaematologicalCancerLineage(org.gel.models.participant.avro.HaematologicalCancerLineage value) {
      validate(fields()[8], value);
      this.haematologicalCancerLineage = value;
      fieldSetFlags()[8] = true;
      return this; 
    }
    
    /** Checks whether the 'haematologicalCancerLineage' field has been set */
    public boolean hasHaematologicalCancerLineage() {
      return fieldSetFlags()[8];
    }
    
    /** Clears the value of the 'haematologicalCancerLineage' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearHaematologicalCancerLineage() {
      haematologicalCancerLineage = null;
      fieldSetFlags()[8] = false;
      return this;
    }

    /** Gets the value of the 'clinicalSampleDateTime' field */
    public java.lang.String getClinicalSampleDateTime() {
      return clinicalSampleDateTime;
    }
    
    /** Sets the value of the 'clinicalSampleDateTime' field */
    public org.gel.models.participant.avro.TumourSample.Builder setClinicalSampleDateTime(java.lang.String value) {
      validate(fields()[9], value);
      this.clinicalSampleDateTime = value;
      fieldSetFlags()[9] = true;
      return this; 
    }
    
    /** Checks whether the 'clinicalSampleDateTime' field has been set */
    public boolean hasClinicalSampleDateTime() {
      return fieldSetFlags()[9];
    }
    
    /** Clears the value of the 'clinicalSampleDateTime' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearClinicalSampleDateTime() {
      clinicalSampleDateTime = null;
      fieldSetFlags()[9] = false;
      return this;
    }

    /** Gets the value of the 'tumourType' field */
    public java.lang.String getTumourType() {
      return tumourType;
    }
    
    /** Sets the value of the 'tumourType' field */
    public org.gel.models.participant.avro.TumourSample.Builder setTumourType(java.lang.String value) {
      validate(fields()[10], value);
      this.tumourType = value;
      fieldSetFlags()[10] = true;
      return this; 
    }
    
    /** Checks whether the 'tumourType' field has been set */
    public boolean hasTumourType() {
      return fieldSetFlags()[10];
    }
    
    /** Clears the value of the 'tumourType' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearTumourType() {
      tumourType = null;
      fieldSetFlags()[10] = false;
      return this;
    }

    /** Gets the value of the 'tumourContent' field */
    public org.gel.models.participant.avro.TumourContent getTumourContent() {
      return tumourContent;
    }
    
    /** Sets the value of the 'tumourContent' field */
    public org.gel.models.participant.avro.TumourSample.Builder setTumourContent(org.gel.models.participant.avro.TumourContent value) {
      validate(fields()[11], value);
      this.tumourContent = value;
      fieldSetFlags()[11] = true;
      return this; 
    }
    
    /** Checks whether the 'tumourContent' field has been set */
    public boolean hasTumourContent() {
      return fieldSetFlags()[11];
    }
    
    /** Clears the value of the 'tumourContent' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearTumourContent() {
      tumourContent = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /** Gets the value of the 'tumourContentPercentage' field */
    public java.lang.Float getTumourContentPercentage() {
      return tumourContentPercentage;
    }
    
    /** Sets the value of the 'tumourContentPercentage' field */
    public org.gel.models.participant.avro.TumourSample.Builder setTumourContentPercentage(java.lang.Float value) {
      validate(fields()[12], value);
      this.tumourContentPercentage = value;
      fieldSetFlags()[12] = true;
      return this; 
    }
    
    /** Checks whether the 'tumourContentPercentage' field has been set */
    public boolean hasTumourContentPercentage() {
      return fieldSetFlags()[12];
    }
    
    /** Clears the value of the 'tumourContentPercentage' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearTumourContentPercentage() {
      tumourContentPercentage = null;
      fieldSetFlags()[12] = false;
      return this;
    }

    /** Gets the value of the 'source' field */
    public org.gel.models.participant.avro.SampleSource getSource() {
      return source;
    }
    
    /** Sets the value of the 'source' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSource(org.gel.models.participant.avro.SampleSource value) {
      validate(fields()[13], value);
      this.source = value;
      fieldSetFlags()[13] = true;
      return this; 
    }
    
    /** Checks whether the 'source' field has been set */
    public boolean hasSource() {
      return fieldSetFlags()[13];
    }
    
    /** Clears the value of the 'source' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSource() {
      source = null;
      fieldSetFlags()[13] = false;
      return this;
    }

    /** Gets the value of the 'preparationMethod' field */
    public org.gel.models.participant.avro.PreparationMethod getPreparationMethod() {
      return preparationMethod;
    }
    
    /** Sets the value of the 'preparationMethod' field */
    public org.gel.models.participant.avro.TumourSample.Builder setPreparationMethod(org.gel.models.participant.avro.PreparationMethod value) {
      validate(fields()[14], value);
      this.preparationMethod = value;
      fieldSetFlags()[14] = true;
      return this; 
    }
    
    /** Checks whether the 'preparationMethod' field has been set */
    public boolean hasPreparationMethod() {
      return fieldSetFlags()[14];
    }
    
    /** Clears the value of the 'preparationMethod' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearPreparationMethod() {
      preparationMethod = null;
      fieldSetFlags()[14] = false;
      return this;
    }

    /** Gets the value of the 'tissueSource' field */
    public java.lang.String getTissueSource() {
      return tissueSource;
    }
    
    /** Sets the value of the 'tissueSource' field */
    public org.gel.models.participant.avro.TumourSample.Builder setTissueSource(java.lang.String value) {
      validate(fields()[15], value);
      this.tissueSource = value;
      fieldSetFlags()[15] = true;
      return this; 
    }
    
    /** Checks whether the 'tissueSource' field has been set */
    public boolean hasTissueSource() {
      return fieldSetFlags()[15];
    }
    
    /** Clears the value of the 'tissueSource' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearTissueSource() {
      tissueSource = null;
      fieldSetFlags()[15] = false;
      return this;
    }

    /** Gets the value of the 'product' field */
    public org.gel.models.participant.avro.Product getProduct() {
      return product;
    }
    
    /** Sets the value of the 'product' field */
    public org.gel.models.participant.avro.TumourSample.Builder setProduct(org.gel.models.participant.avro.Product value) {
      validate(fields()[16], value);
      this.product = value;
      fieldSetFlags()[16] = true;
      return this; 
    }
    
    /** Checks whether the 'product' field has been set */
    public boolean hasProduct() {
      return fieldSetFlags()[16];
    }
    
    /** Clears the value of the 'product' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearProduct() {
      product = null;
      fieldSetFlags()[16] = false;
      return this;
    }

    /** Gets the value of the 'sampleMorphologies' field */
    public java.util.List getSampleMorphologies() {
      return sampleMorphologies;
    }
    
    /** Sets the value of the 'sampleMorphologies' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSampleMorphologies(java.util.List value) {
      validate(fields()[17], value);
      this.sampleMorphologies = value;
      fieldSetFlags()[17] = true;
      return this; 
    }
    
    /** Checks whether the 'sampleMorphologies' field has been set */
    public boolean hasSampleMorphologies() {
      return fieldSetFlags()[17];
    }
    
    /** Clears the value of the 'sampleMorphologies' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSampleMorphologies() {
      sampleMorphologies = null;
      fieldSetFlags()[17] = false;
      return this;
    }

    /** Gets the value of the 'sampleTopographies' field */
    public java.util.List getSampleTopographies() {
      return sampleTopographies;
    }
    
    /** Sets the value of the 'sampleTopographies' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSampleTopographies(java.util.List value) {
      validate(fields()[18], value);
      this.sampleTopographies = value;
      fieldSetFlags()[18] = true;
      return this; 
    }
    
    /** Checks whether the 'sampleTopographies' field has been set */
    public boolean hasSampleTopographies() {
      return fieldSetFlags()[18];
    }
    
    /** Clears the value of the 'sampleTopographies' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSampleTopographies() {
      sampleTopographies = null;
      fieldSetFlags()[18] = false;
      return this;
    }

    /** Gets the value of the 'sampleUid' field */
    public java.lang.String getSampleUid() {
      return sampleUid;
    }
    
    /** Sets the value of the 'sampleUid' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSampleUid(java.lang.String value) {
      validate(fields()[19], value);
      this.sampleUid = value;
      fieldSetFlags()[19] = true;
      return this; 
    }
    
    /** Checks whether the 'sampleUid' field has been set */
    public boolean hasSampleUid() {
      return fieldSetFlags()[19];
    }
    
    /** Clears the value of the 'sampleUid' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSampleUid() {
      sampleUid = null;
      fieldSetFlags()[19] = false;
      return this;
    }

    /** Gets the value of the 'participantId' field */
    public java.lang.String getParticipantId() {
      return participantId;
    }
    
    /** Sets the value of the 'participantId' field */
    public org.gel.models.participant.avro.TumourSample.Builder setParticipantId(java.lang.String value) {
      validate(fields()[20], value);
      this.participantId = value;
      fieldSetFlags()[20] = true;
      return this; 
    }
    
    /** Checks whether the 'participantId' field has been set */
    public boolean hasParticipantId() {
      return fieldSetFlags()[20];
    }
    
    /** Clears the value of the 'participantId' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearParticipantId() {
      participantId = null;
      fieldSetFlags()[20] = false;
      return this;
    }

    /** Gets the value of the 'participantUid' field */
    public java.lang.String getParticipantUid() {
      return participantUid;
    }
    
    /** Sets the value of the 'participantUid' field */
    public org.gel.models.participant.avro.TumourSample.Builder setParticipantUid(java.lang.String value) {
      validate(fields()[21], value);
      this.participantUid = value;
      fieldSetFlags()[21] = true;
      return this; 
    }
    
    /** Checks whether the 'participantUid' field has been set */
    public boolean hasParticipantUid() {
      return fieldSetFlags()[21];
    }
    
    /** Clears the value of the 'participantUid' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearParticipantUid() {
      participantUid = null;
      fieldSetFlags()[21] = false;
      return this;
    }

    /** Gets the value of the 'maskedPid' field */
    public java.lang.String getMaskedPid() {
      return maskedPid;
    }
    
    /** Sets the value of the 'maskedPid' field */
    public org.gel.models.participant.avro.TumourSample.Builder setMaskedPid(java.lang.String value) {
      validate(fields()[22], value);
      this.maskedPid = value;
      fieldSetFlags()[22] = true;
      return this; 
    }
    
    /** Checks whether the 'maskedPid' field has been set */
    public boolean hasMaskedPid() {
      return fieldSetFlags()[22];
    }
    
    /** Clears the value of the 'maskedPid' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearMaskedPid() {
      maskedPid = null;
      fieldSetFlags()[22] = false;
      return this;
    }

    /** Gets the value of the 'method' field */
    public org.gel.models.participant.avro.Method getMethod() {
      return method;
    }
    
    /** Sets the value of the 'method' field */
    public org.gel.models.participant.avro.TumourSample.Builder setMethod(org.gel.models.participant.avro.Method value) {
      validate(fields()[23], value);
      this.method = value;
      fieldSetFlags()[23] = true;
      return this; 
    }
    
    /** Checks whether the 'method' field has been set */
    public boolean hasMethod() {
      return fieldSetFlags()[23];
    }
    
    /** Clears the value of the 'method' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearMethod() {
      method = null;
      fieldSetFlags()[23] = false;
      return this;
    }

    /** Gets the value of the 'storageMedium' field */
    public org.gel.models.participant.avro.StorageMedium getStorageMedium() {
      return storageMedium;
    }
    
    /** Sets the value of the 'storageMedium' field */
    public org.gel.models.participant.avro.TumourSample.Builder setStorageMedium(org.gel.models.participant.avro.StorageMedium value) {
      validate(fields()[24], value);
      this.storageMedium = value;
      fieldSetFlags()[24] = true;
      return this; 
    }
    
    /** Checks whether the 'storageMedium' field has been set */
    public boolean hasStorageMedium() {
      return fieldSetFlags()[24];
    }
    
    /** Clears the value of the 'storageMedium' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearStorageMedium() {
      storageMedium = null;
      fieldSetFlags()[24] = false;
      return this;
    }

    /** Gets the value of the 'sampleType' field */
    public java.lang.String getSampleType() {
      return sampleType;
    }
    
    /** Sets the value of the 'sampleType' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSampleType(java.lang.String value) {
      validate(fields()[25], value);
      this.sampleType = value;
      fieldSetFlags()[25] = true;
      return this; 
    }
    
    /** Checks whether the 'sampleType' field has been set */
    public boolean hasSampleType() {
      return fieldSetFlags()[25];
    }
    
    /** Clears the value of the 'sampleType' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSampleType() {
      sampleType = null;
      fieldSetFlags()[25] = false;
      return this;
    }

    /** Gets the value of the 'sampleState' field */
    public java.lang.String getSampleState() {
      return sampleState;
    }
    
    /** Sets the value of the 'sampleState' field */
    public org.gel.models.participant.avro.TumourSample.Builder setSampleState(java.lang.String value) {
      validate(fields()[26], value);
      this.sampleState = value;
      fieldSetFlags()[26] = true;
      return this; 
    }
    
    /** Checks whether the 'sampleState' field has been set */
    public boolean hasSampleState() {
      return fieldSetFlags()[26];
    }
    
    /** Clears the value of the 'sampleState' field */
    public org.gel.models.participant.avro.TumourSample.Builder clearSampleState() {
      sampleState = null;
      fieldSetFlags()[26] = false;
      return this;
    }

    @Override
    public TumourSample build() {
      try {
        TumourSample record = new TumourSample();
        record.sampleId = fieldSetFlags()[0] ? this.sampleId : (java.lang.String) defaultValue(fields()[0]);
        record.labSampleId = fieldSetFlags()[1] ? this.labSampleId : (java.lang.String) defaultValue(fields()[1]);
        record.LDPCode = fieldSetFlags()[2] ? this.LDPCode : (java.lang.String) defaultValue(fields()[2]);
        record.tumourId = fieldSetFlags()[3] ? this.tumourId : (java.lang.String) defaultValue(fields()[3]);
        record.programmePhase = fieldSetFlags()[4] ? this.programmePhase : (java.lang.String) defaultValue(fields()[4]);
        record.diseaseType = fieldSetFlags()[5] ? this.diseaseType : (org.gel.models.participant.avro.diseaseType) defaultValue(fields()[5]);
        record.diseaseSubType = fieldSetFlags()[6] ? this.diseaseSubType : (java.lang.String) defaultValue(fields()[6]);
        record.haematologicalCancer = fieldSetFlags()[7] ? this.haematologicalCancer : (java.lang.Boolean) defaultValue(fields()[7]);
        record.haematologicalCancerLineage = fieldSetFlags()[8] ? this.haematologicalCancerLineage : (org.gel.models.participant.avro.HaematologicalCancerLineage) defaultValue(fields()[8]);
        record.clinicalSampleDateTime = fieldSetFlags()[9] ? this.clinicalSampleDateTime : (java.lang.String) defaultValue(fields()[9]);
        record.tumourType = fieldSetFlags()[10] ? this.tumourType : (java.lang.String) defaultValue(fields()[10]);
        record.tumourContent = fieldSetFlags()[11] ? this.tumourContent : (org.gel.models.participant.avro.TumourContent) defaultValue(fields()[11]);
        record.tumourContentPercentage = fieldSetFlags()[12] ? this.tumourContentPercentage : (java.lang.Float) defaultValue(fields()[12]);
        record.source = fieldSetFlags()[13] ? this.source : (org.gel.models.participant.avro.SampleSource) defaultValue(fields()[13]);
        record.preparationMethod = fieldSetFlags()[14] ? this.preparationMethod : (org.gel.models.participant.avro.PreparationMethod) defaultValue(fields()[14]);
        record.tissueSource = fieldSetFlags()[15] ? this.tissueSource : (java.lang.String) defaultValue(fields()[15]);
        record.product = fieldSetFlags()[16] ? this.product : (org.gel.models.participant.avro.Product) defaultValue(fields()[16]);
        record.sampleMorphologies = fieldSetFlags()[17] ? this.sampleMorphologies : (java.util.List) defaultValue(fields()[17]);
        record.sampleTopographies = fieldSetFlags()[18] ? this.sampleTopographies : (java.util.List) defaultValue(fields()[18]);
        record.sampleUid = fieldSetFlags()[19] ? this.sampleUid : (java.lang.String) defaultValue(fields()[19]);
        record.participantId = fieldSetFlags()[20] ? this.participantId : (java.lang.String) defaultValue(fields()[20]);
        record.participantUid = fieldSetFlags()[21] ? this.participantUid : (java.lang.String) defaultValue(fields()[21]);
        record.maskedPid = fieldSetFlags()[22] ? this.maskedPid : (java.lang.String) defaultValue(fields()[22]);
        record.method = fieldSetFlags()[23] ? this.method : (org.gel.models.participant.avro.Method) defaultValue(fields()[23]);
        record.storageMedium = fieldSetFlags()[24] ? this.storageMedium : (org.gel.models.participant.avro.StorageMedium) defaultValue(fields()[24]);
        record.sampleType = fieldSetFlags()[25] ? this.sampleType : (java.lang.String) defaultValue(fields()[25]);
        record.sampleState = fieldSetFlags()[26] ? this.sampleState : (java.lang.String) defaultValue(fields()[26]);
        return record;
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy