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

org.gel.models.report.avro.AmpVariantClassification Maven / Gradle / Ivy

/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */
package org.gel.models.report.avro;  
@SuppressWarnings("all")
/** Full Variant classification acording to AMP guideline, including all supporting evidences and the final
    assessment */
@org.apache.avro.specific.AvroGenerated
public class AmpVariantClassification 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\":\"AmpVariantClassification\",\"namespace\":\"org.gel.models.report.avro\",\"doc\":\"Full Variant classification acording to AMP guideline, including all supporting evidences and the final\\n    assessment\",\"fields\":[{\"name\":\"ampEvidences\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"AmpEvidence\",\"doc\":\"Evidences as defined in AMP guidelines, they are composed by a evidence type (first column in the evidence table of\\n    the guidlines) and a assessment of the evicence, this last one will define the streght of the evidence, supporting\\n    the variant to be classified as TierI-IV\",\"fields\":[{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"AmpEvidenceType\",\"doc\":\"Type of evidence in the AMP guideline\",\"symbols\":[\"mutation_type\",\"therapies\",\"variant_frequencies\",\"potential_germline\",\"population_database_presence\",\"germline_database_presence\",\"somatic_database_presence\",\"impact_predictive_software\",\"pathway_involvement\",\"publications\"]},\"doc\":\"AMP evidence type according to Guidlines, i.e germline_database_presence\"},{\"name\":\"evidenceAssessment\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Assessment for AMP evidence, i.e Present in ClinVar\"}]}},\"doc\":\"List of AMP evidences\"},{\"name\":\"ampTier\",\"type\":{\"type\":\"enum\",\"name\":\"AmpTier\",\"doc\":\"AMP tier:\\n* `TierI`: Variants of Strong Clinical Significance\\n* `TierII`: Variants of Potential Clinical Significance\\n* `TierIII`: Variants of Unknown Clinical Significance\\n* `TierIV`: Benign or Likely Benign Variants\",\"symbols\":[\"tierI\",\"tierII\",\"tierIII\",\"tierIV\"]},\"doc\":\"Final Clasification taken in account the evidences\"},{\"name\":\"ampClincialOrExperimentalEvidence\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"AmpClincialOrExperimentalEvidence\",\"doc\":\"Amp Clinical or Experimental Evidence, the level will define the overal clasification of the variant together with\\n    the tiering.\",\"fields\":[{\"name\":\"category\",\"type\":{\"type\":\"enum\",\"name\":\"AmpClinicalOrExperimentalEvidenceCategory\",\"doc\":\"Categories of Clinical and/or Experimental Evidence as defined in AMP guidelines\",\"symbols\":[\"therapeutic\",\"diagnosis\",\"prognosis\"]},\"doc\":\"As denined in AMP guidelines: therapeutic, diagnosis or prognosis\"},{\"name\":\"level\",\"type\":{\"type\":\"enum\",\"name\":\"AmpClinicalOrExperimentalEvidenceLevel\",\"doc\":\"Levels for categories of Clinical and/or Experimental Evidence as defined in AMP guidelines\",\"symbols\":[\"levelA\",\"levelB\",\"levelC\",\"levelD\"]},\"doc\":\"As denined in AMP guidelines: levelA, levelB, levelC, levelD\"},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Description of the evidence\"}]}}],\"doc\":\"Clinical or Experimental evicence\"},{\"name\":\"assessment\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Final Assessment\"}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  /** List of AMP evidences */
   private java.util.List ampEvidences;
  /** Final Clasification taken in account the evidences */
   private org.gel.models.report.avro.AmpTier ampTier;
  /** Clinical or Experimental evicence */
   private java.util.List ampClincialOrExperimentalEvidence;
  /** Final Assessment */
   private java.lang.String assessment;

  /**
   * 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 AmpVariantClassification() {}

  /**
   * All-args constructor.
   */
  public AmpVariantClassification(java.util.List ampEvidences, org.gel.models.report.avro.AmpTier ampTier, java.util.List ampClincialOrExperimentalEvidence, java.lang.String assessment) {
    this.ampEvidences = ampEvidences;
    this.ampTier = ampTier;
    this.ampClincialOrExperimentalEvidence = ampClincialOrExperimentalEvidence;
    this.assessment = assessment;
  }

  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 ampEvidences;
    case 1: return ampTier;
    case 2: return ampClincialOrExperimentalEvidence;
    case 3: return assessment;
    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: ampEvidences = (java.util.List)value$; break;
    case 1: ampTier = (org.gel.models.report.avro.AmpTier)value$; break;
    case 2: ampClincialOrExperimentalEvidence = (java.util.List)value$; break;
    case 3: assessment = (java.lang.String)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'ampEvidences' field.
   * List of AMP evidences   */
  public java.util.List getAmpEvidences() {
    return ampEvidences;
  }

  /**
   * Sets the value of the 'ampEvidences' field.
   * List of AMP evidences   * @param value the value to set.
   */
  public void setAmpEvidences(java.util.List value) {
    this.ampEvidences = value;
  }

  /**
   * Gets the value of the 'ampTier' field.
   * Final Clasification taken in account the evidences   */
  public org.gel.models.report.avro.AmpTier getAmpTier() {
    return ampTier;
  }

  /**
   * Sets the value of the 'ampTier' field.
   * Final Clasification taken in account the evidences   * @param value the value to set.
   */
  public void setAmpTier(org.gel.models.report.avro.AmpTier value) {
    this.ampTier = value;
  }

  /**
   * Gets the value of the 'ampClincialOrExperimentalEvidence' field.
   * Clinical or Experimental evicence   */
  public java.util.List getAmpClincialOrExperimentalEvidence() {
    return ampClincialOrExperimentalEvidence;
  }

  /**
   * Sets the value of the 'ampClincialOrExperimentalEvidence' field.
   * Clinical or Experimental evicence   * @param value the value to set.
   */
  public void setAmpClincialOrExperimentalEvidence(java.util.List value) {
    this.ampClincialOrExperimentalEvidence = value;
  }

  /**
   * Gets the value of the 'assessment' field.
   * Final Assessment   */
  public java.lang.String getAssessment() {
    return assessment;
  }

  /**
   * Sets the value of the 'assessment' field.
   * Final Assessment   * @param value the value to set.
   */
  public void setAssessment(java.lang.String value) {
    this.assessment = value;
  }

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

    private java.util.List ampEvidences;
    private org.gel.models.report.avro.AmpTier ampTier;
    private java.util.List ampClincialOrExperimentalEvidence;
    private java.lang.String assessment;

    /** Creates a new Builder */
    private Builder() {
      super(org.gel.models.report.avro.AmpVariantClassification.SCHEMA$);
    }
    
    /** Creates a Builder by copying an existing Builder */
    private Builder(org.gel.models.report.avro.AmpVariantClassification.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.ampEvidences)) {
        this.ampEvidences = data().deepCopy(fields()[0].schema(), other.ampEvidences);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.ampTier)) {
        this.ampTier = data().deepCopy(fields()[1].schema(), other.ampTier);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.ampClincialOrExperimentalEvidence)) {
        this.ampClincialOrExperimentalEvidence = data().deepCopy(fields()[2].schema(), other.ampClincialOrExperimentalEvidence);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.assessment)) {
        this.assessment = data().deepCopy(fields()[3].schema(), other.assessment);
        fieldSetFlags()[3] = true;
      }
    }
    
    /** Creates a Builder by copying an existing AmpVariantClassification instance */
    private Builder(org.gel.models.report.avro.AmpVariantClassification other) {
            super(org.gel.models.report.avro.AmpVariantClassification.SCHEMA$);
      if (isValidValue(fields()[0], other.ampEvidences)) {
        this.ampEvidences = data().deepCopy(fields()[0].schema(), other.ampEvidences);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.ampTier)) {
        this.ampTier = data().deepCopy(fields()[1].schema(), other.ampTier);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.ampClincialOrExperimentalEvidence)) {
        this.ampClincialOrExperimentalEvidence = data().deepCopy(fields()[2].schema(), other.ampClincialOrExperimentalEvidence);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.assessment)) {
        this.assessment = data().deepCopy(fields()[3].schema(), other.assessment);
        fieldSetFlags()[3] = true;
      }
    }

    /** Gets the value of the 'ampEvidences' field */
    public java.util.List getAmpEvidences() {
      return ampEvidences;
    }
    
    /** Sets the value of the 'ampEvidences' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder setAmpEvidences(java.util.List value) {
      validate(fields()[0], value);
      this.ampEvidences = value;
      fieldSetFlags()[0] = true;
      return this; 
    }
    
    /** Checks whether the 'ampEvidences' field has been set */
    public boolean hasAmpEvidences() {
      return fieldSetFlags()[0];
    }
    
    /** Clears the value of the 'ampEvidences' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder clearAmpEvidences() {
      ampEvidences = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /** Gets the value of the 'ampTier' field */
    public org.gel.models.report.avro.AmpTier getAmpTier() {
      return ampTier;
    }
    
    /** Sets the value of the 'ampTier' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder setAmpTier(org.gel.models.report.avro.AmpTier value) {
      validate(fields()[1], value);
      this.ampTier = value;
      fieldSetFlags()[1] = true;
      return this; 
    }
    
    /** Checks whether the 'ampTier' field has been set */
    public boolean hasAmpTier() {
      return fieldSetFlags()[1];
    }
    
    /** Clears the value of the 'ampTier' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder clearAmpTier() {
      ampTier = null;
      fieldSetFlags()[1] = false;
      return this;
    }

    /** Gets the value of the 'ampClincialOrExperimentalEvidence' field */
    public java.util.List getAmpClincialOrExperimentalEvidence() {
      return ampClincialOrExperimentalEvidence;
    }
    
    /** Sets the value of the 'ampClincialOrExperimentalEvidence' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder setAmpClincialOrExperimentalEvidence(java.util.List value) {
      validate(fields()[2], value);
      this.ampClincialOrExperimentalEvidence = value;
      fieldSetFlags()[2] = true;
      return this; 
    }
    
    /** Checks whether the 'ampClincialOrExperimentalEvidence' field has been set */
    public boolean hasAmpClincialOrExperimentalEvidence() {
      return fieldSetFlags()[2];
    }
    
    /** Clears the value of the 'ampClincialOrExperimentalEvidence' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder clearAmpClincialOrExperimentalEvidence() {
      ampClincialOrExperimentalEvidence = null;
      fieldSetFlags()[2] = false;
      return this;
    }

    /** Gets the value of the 'assessment' field */
    public java.lang.String getAssessment() {
      return assessment;
    }
    
    /** Sets the value of the 'assessment' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder setAssessment(java.lang.String value) {
      validate(fields()[3], value);
      this.assessment = value;
      fieldSetFlags()[3] = true;
      return this; 
    }
    
    /** Checks whether the 'assessment' field has been set */
    public boolean hasAssessment() {
      return fieldSetFlags()[3];
    }
    
    /** Clears the value of the 'assessment' field */
    public org.gel.models.report.avro.AmpVariantClassification.Builder clearAssessment() {
      assessment = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    @Override
    public AmpVariantClassification build() {
      try {
        AmpVariantClassification record = new AmpVariantClassification();
        record.ampEvidences = fieldSetFlags()[0] ? this.ampEvidences : (java.util.List) defaultValue(fields()[0]);
        record.ampTier = fieldSetFlags()[1] ? this.ampTier : (org.gel.models.report.avro.AmpTier) defaultValue(fields()[1]);
        record.ampClincialOrExperimentalEvidence = fieldSetFlags()[2] ? this.ampClincialOrExperimentalEvidence : (java.util.List) defaultValue(fields()[2]);
        record.assessment = fieldSetFlags()[3] ? this.assessment : (java.lang.String) defaultValue(fields()[3]);
        return record;
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy