Generate question bank domain model from JDL
This commit is contained in:
1 parent
1d97cc4e31
commit
1d74d8f04b
160 files changed
+26900
-2
No files matched your search
@@ -0,0 +1,176 @@
|
||||
package com.example.questionbank.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* A Question.
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "question")
|
||||
@SuppressWarnings("common-java:DuplicatedBlocks")
|
||||
public class Question implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
|
||||
@SequenceGenerator(name = "sequenceGenerator")
|
||||
@Column(name = "id")
|
||||
private Long id;
|
||||
|
||||
@NotNull
|
||||
@Size(min = 5, max = 2000)
|
||||
@Column(name = "prompt", length = 2000, nullable = false)
|
||||
private String prompt;
|
||||
|
||||
@Size(max = 2000)
|
||||
@Column(name = "explanation", length = 2000)
|
||||
private String explanation;
|
||||
|
||||
@NotNull
|
||||
@Column(name = "active", nullable = false)
|
||||
private Boolean active;
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY, mappedBy = "question")
|
||||
@JsonIgnoreProperties(value = { "question" }, allowSetters = true)
|
||||
private Set<Choice> choices = new HashSet<>();
|
||||
|
||||
@ManyToOne(optional = false)
|
||||
@NotNull
|
||||
private Subject subject;
|
||||
|
||||
// jhipster-needle-entity-add-field - JHipster will add fields here
|
||||
|
||||
public Long getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
public Question id(Long id) {
|
||||
this.setId(id);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getPrompt() {
|
||||
return this.prompt;
|
||||
}
|
||||
|
||||
public Question prompt(String prompt) {
|
||||
this.setPrompt(prompt);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setPrompt(String prompt) {
|
||||
this.prompt = prompt;
|
||||
}
|
||||
|
||||
public String getExplanation() {
|
||||
return this.explanation;
|
||||
}
|
||||
|
||||
public Question explanation(String explanation) {
|
||||
this.setExplanation(explanation);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setExplanation(String explanation) {
|
||||
this.explanation = explanation;
|
||||
}
|
||||
|
||||
public Boolean getActive() {
|
||||
return this.active;
|
||||
}
|
||||
|
||||
public Question active(Boolean active) {
|
||||
this.setActive(active);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setActive(Boolean active) {
|
||||
this.active = active;
|
||||
}
|
||||
|
||||
public Set<Choice> getChoices() {
|
||||
return this.choices;
|
||||
}
|
||||
|
||||
public void setChoices(Set<Choice> choices) {
|
||||
if (this.choices != null) {
|
||||
this.choices.forEach(i -> i.setQuestion(null));
|
||||
}
|
||||
if (choices != null) {
|
||||
choices.forEach(i -> i.setQuestion(this));
|
||||
}
|
||||
this.choices = choices;
|
||||
}
|
||||
|
||||
public Question choices(Set<Choice> choices) {
|
||||
this.setChoices(choices);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Question addChoice(Choice choice) {
|
||||
this.choices.add(choice);
|
||||
choice.setQuestion(this);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Question removeChoice(Choice choice) {
|
||||
this.choices.remove(choice);
|
||||
choice.setQuestion(null);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Subject getSubject() {
|
||||
return this.subject;
|
||||
}
|
||||
|
||||
public void setSubject(Subject subject) {
|
||||
this.subject = subject;
|
||||
}
|
||||
|
||||
public Question subject(Subject subject) {
|
||||
this.setSubject(subject);
|
||||
return this;
|
||||
}
|
||||
|
||||
// jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof Question)) {
|
||||
return false;
|
||||
}
|
||||
return getId() != null && getId().equals(((Question) o).getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
// see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/
|
||||
return getClass().hashCode();
|
||||
}
|
||||
|
||||
// prettier-ignore
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Question{" +
|
||||
"id=" + getId() +
|
||||
", prompt='" + getPrompt() + "'" +
|
||||
", explanation='" + getExplanation() + "'" +
|
||||
", active='" + getActive() + "'" +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user