質問編集履歴

1

関連コードを2つ追加

2022/11/17 02:46

投稿

ZONO
ZONO

スコア7

test CHANGED
File without changes
test CHANGED
@@ -31,6 +31,115 @@
31
31
  }
32
32
  }
33
33
  ```
34
+ ###関連コード1
35
+ ```
36
+ package actions.views;
37
+
38
+ import lombok.AllArgsConstructor;
39
+ import lombok.Getter;
40
+ import lombok.NoArgsConstructor;
41
+ import lombok.Setter;
42
+ import models.Employee;
43
+ /**
44
+ * 従業員情報について画面の入力値・出力値を扱うViewモデル
45
+ *
46
+ */
47
+ @Getter //全てのクラスフィールドについてgetterを自動生成する(Lombok)
48
+ @Setter //全てのクラスフィールドについてsetterを自動生成する(Lombok)
49
+ @NoArgsConstructor //引数なしコンストラクタを自動生成する(Lombok)
50
+ @AllArgsConstructor //全てのクラスフィールドを引数にもつ引数ありコンストラクタを自動生成する(Lombok)
51
+ public class FollowView {
52
+ /**
53
+ * id
54
+ */
55
+ private Integer id;
56
+
57
+ /**
58
+ * フォローされる人
59
+ */
60
+ private Employee follow;
61
+
62
+ /**
63
+ * フォローした人
64
+ */
65
+ private Employee follower;
66
+
67
+ }
68
+ ```
69
+ ###関連コード2
70
+ ```
71
+ package actions.views;
72
+
73
+ import java.util.ArrayList;
74
+ import java.util.List;
75
+
76
+ import models.EmployeeFollow;
77
+
78
+ /**
79
+ * 従業員データのDTOモデル⇔Viewモデルの変換を行うクラス
80
+ *
81
+ */
82
+ public class FollowConverter {
83
+
84
+ /**
85
+ * ViewモデルのインスタンスからDTOモデルのインスタンスを作成する
86
+ * @param ev EmployeeViewのインスタンス
87
+ * @return Employeeのインスタンス
88
+ */
89
+ public static EmployeeFollow toModel(FollowView fv) {
90
+
91
+ return new EmployeeFollow(
92
+ fv.getId(),
93
+ fv.getFollow(), //フォローされた人
94
+ fv.getFollower());//フォローした人
95
+ }
96
+
97
+ /**
98
+ * DTOモデルのインスタンスからViewモデルのインスタンスを作成する
99
+ * @param e Employeeのインスタンス
100
+ * @return EmployeeViewのインスタンス
101
+ */
102
+ public static FollowView toView(EmployeeFollow f) {
103
+
104
+ if(f == null) {
105
+ return null;
106
+ }
107
+
108
+ return new FollowView(
109
+ f.getId(),
110
+ f.getFollow(),
111
+ f.getFollower());
112
+ }
113
+
114
+ /**
115
+ * DTOモデルのリストからViewモデルのリストを作成する
116
+ * @param list DTOモデルのリスト
117
+ * @return Viewモデルのリスト
118
+ */
119
+ public static List<FollowView> toViewList(List<EmployeeFollow> list) {
120
+ List<FollowView> evs = new ArrayList<>();
121
+
122
+ for (EmployeeFollow f : list) {
123
+ evs.add(toView(f));
124
+ }
125
+
126
+ return evs;
127
+ }
128
+
129
+ /**
130
+ * Viewモデルの全フィールドの内容をDTOモデルのフィールドにコピーする
131
+ * @param e DTOモデル(コピー先)
132
+ * @param ev Viewモデル(コピー元)
133
+ */
134
+ public static void copyViewToModel(EmployeeFollow f, FollowView fv) {
135
+ f.setId(fv.getId());
136
+ f.setFollow(fv.getFollow());
137
+ f.setFollower(fv.getFollower());
138
+
139
+ }
140
+
141
+ }
142
+ ```
34
143
 
35
144
 
36
145