카테고리 없음
Java Todo List 만들기 : ArrayList사용
개발자국S2
2021. 7. 13. 22:59
// vo import처리
import com.mococo.dataset.TodoData;
// Todo.java 클래스 - 추후 코드들은 전부 해당 클래스 아래 있는 것임
public class Todo{
ArrayList<TodoData> todoList = null; // 하나의 계획 (TodoData Vo객체) 초기화
private int todoId = 0; // 각 계획의 id값
public Todo() throws Exception{
try {
todoList = new ArrayList<TodoData>();
} catch(Exception e)
{
throw e;
}
}
}
// ArrayList 안에 값 넣어주기
public void insert(String subject, String startDate, String endDate) throws Exception {
try
{
// 앞에 4자리 띄워라 0001 처럼
String todoDataId = String.format("%04d", ++this.todoId);
TodoData todoData = new TodoData();
todoData.setId(todoDataId);
todoData.setSubject(subject);
todoData.setStartDate(startDate);
todoData.setEndDate(endDate);
todoData.setComplete(false);
todoList.add(todoData);
}
catch(Exception e)
{
throw e;
}
}
// 어레이리스트 값 선택하기 (어떤 계획 쓸건지) - 서비스 단에서 상세히 기술
public ArrayList<TodoData> select() throws Exception {
try
{
return todoList;
}
catch(Exception e)
{
throw e;
}
}
MVC 패턴을 사용하였다. 단, DB는 사용하지 않았다.
Vo
각 계획에 대한 id 값을 부여했고, 내용(subject) , 실행일자(startDate), 종료일자(endDate), 실행여부(isComplete)로 잡았다.
package 패키지위치.dataset;
public class TodoData {
private String id;
private String subject;
private String startDate;
private String endDate;
private boolean isComplete;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public boolean isComplete() {
return isComplete;
}
public void setComplete(boolean isComplete) {
this.isComplete = isComplete;
}
@Override
public String toString() {
return "[" + id + " / " + subject + " / " + startDate + " / " + endDate + " / " + isComplete + "]";
}
}
Service
ArrayList 만들기 , 뼈대만들기
import 저장위치.TodoData; // vo import처리
public class Todo {
ArrayList<TodoData> todoList = null;
private int todoId = 0;
public Todo() throws Exception
{
try
{
todoList = new ArrayList<TodoData>();
}
catch(Exception e)
{
throw e;
}
}
// 모든 예외처리는 호출하는 쪽에서 처리해야한다. 즉, 여기서 에러를 처리하면 안되는 것.
public void insert(String subject, String startDate, String endDate) throws Exception {
try
{
// 0001과 함께 네자리수로 출력
String todoDataId = String.format("%04d", ++this.todoId);
TodoData todoData = new TodoData();
todoData.setId(todoDataId);
todoData.setSubject(subject);
todoData.setStartDate(startDate);
todoData.setEndDate(endDate);
todoData.setComplete(false); // default값으로 false를 잡음
todoList.add(todoData);
}
catch(Exception e)
{
throw e;
}
}
public ArrayList<TodoData> select() throws Exception {
try
{
return todoList;
}
catch(Exception e)
{
throw e;
}
}
Controller
실제 ArrayLIst에 값 넣기
import com.mococo.dataset.TodoData;
import com.mococo.service.main.Todo;
class TodoTest {
@Test
void test() {
try {
Todo todo = new Todo();
// 실제 값 넣기 - id와 isComplete는 자동으로 들어감
todo.insert("점심먹기", "20210712", "20210713");
todo.insert("여행가기", "20210713", "20210720");
ArrayList<TodoData> todoData = todo.select();
for(TodoData data : todoData) {
System.out.println(data.getId() + " / " + data.getSubject()
+ " / " + data.getStartDate() + " / " + data.getEndDate() + " / " + data.isComplete()
);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
반응형