add format version to stepic format
[idea/community.git] / python / educational-core / student / src / com / jetbrains / edu / learning / courseFormat / AnswerPlaceholderSubtaskInfo.java
1 package com.jetbrains.edu.learning.courseFormat;
2
3 import com.google.gson.annotations.Expose;
4 import com.google.gson.annotations.SerializedName;
5 import com.intellij.openapi.diagnostic.Logger;
6 import org.jetbrains.annotations.NotNull;
7
8 import java.util.ArrayList;
9 import java.util.List;
10
11 public class AnswerPlaceholderSubtaskInfo {
12   private static final Logger LOG = Logger.getInstance(AnswerPlaceholderSubtaskInfo.class);
13
14   @SerializedName("hints")
15   @Expose private List<String> myHints = new ArrayList<>();
16
17   @SerializedName("possible_answer")
18   @Expose private String possibleAnswer = "";
19
20   @SerializedName("placeholder_text")
21   @Expose private String myPlaceholderText;
22
23   private String myAnswer = "";
24   private boolean mySelected = false;
25   private StudyStatus myStatus = StudyStatus.Unchecked;
26
27   @SerializedName("has_frame")
28   @Expose private boolean myHasFrame = true;
29
30   @SerializedName("need_insert_text")
31   @Expose private boolean myNeedInsertText = false;
32
33   public StudyStatus getStatus() {
34     return myStatus;
35   }
36
37   public void setStatus(StudyStatus status) {
38     myStatus = status;
39   }
40
41   public void addHint(@NotNull final String text) {
42     myHints.add(text);
43   }
44
45   public void removeHint(int i) {
46     if (i < myHints.size()) {
47       myHints.remove(i);
48     }
49     else {
50       LOG.warn("Trying to remove nonexistent hint. Hint to remove number: " + i + " number of hints: " + myHints.size());
51     }
52   }
53
54   public List<String> getHints() {
55     return myHints;
56   }
57
58   public void setHints(List<String> hints) {
59     myHints = hints;
60   }
61
62   public String getPossibleAnswer() {
63     return possibleAnswer;
64   }
65
66   public void setPossibleAnswer(String possibleAnswer) {
67     this.possibleAnswer = possibleAnswer;
68   }
69
70   public String getPlaceholderText() {
71     return myPlaceholderText;
72   }
73
74   public void setPlaceholderText(String placeholderText) {
75     myPlaceholderText = placeholderText;
76   }
77
78   public boolean getSelected() {
79     return mySelected;
80   }
81
82   public void setSelected(boolean selected) {
83     mySelected = selected;
84   }
85
86   public boolean isHasFrame() {
87     return myHasFrame;
88   }
89
90   public void setHasFrame(boolean hasFrame) {
91     myHasFrame = hasFrame;
92   }
93
94   public boolean isNeedInsertText() {
95     return myNeedInsertText;
96   }
97
98   public void setNeedInsertText(boolean needInsertText) {
99     myNeedInsertText = needInsertText;
100   }
101
102   public String getAnswer() {
103     return myAnswer;
104   }
105
106   public void setAnswer(String answer) {
107     myAnswer = answer;
108   }
109 }