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

org.molgenis.questionnaires.response.QuestionnaireResponse Maven / Gradle / Ivy

There is a newer version: 8.4.5
Show newest version
package org.molgenis.questionnaires.response;

import com.google.auto.value.AutoValue;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.molgenis.questionnaires.meta.Questionnaire;
import org.molgenis.questionnaires.meta.QuestionnaireStatus;
import org.molgenis.util.AutoGson;

@AutoValue
@AutoGson(autoValueClass = AutoValue_QuestionnaireResponse.class)
@SuppressWarnings(
    "squid:S1610") // Abstract classes without fields should be converted to interfaces
public abstract class QuestionnaireResponse {
  public abstract String getId();

  public abstract String getLabel();

  @Nullable
  @CheckForNull
  public abstract String getDescription();

  public abstract QuestionnaireStatus getStatus();

  public static QuestionnaireResponse create(
      String id, String label, String description, QuestionnaireStatus status) {
    return new AutoValue_QuestionnaireResponse(id, label, description, status);
  }

  public static QuestionnaireResponse create(Questionnaire questionnaire) {
    return create(
        String.valueOf(questionnaire.getIdValue()),
        questionnaire.getLabel(),
        questionnaire.getDescription(),
        questionnaire.getStatus());
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy