package foundation.state.approve; import java.util.List; import foundation.data.entity.Entity; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; import foundation.state.DetailState; public class Step implements IJSONProvider { private String id; private String parentId; private String name; private String roleCode; private String duty; private String boardId; private StepType type; private int indexNo; private StepBoard board; private DetailState detailState; public Step() { } public Step(String id, String name) { this.id = id; this.name = name; } public void load(Entity entity) { id = entity.getString("id"); parentId = entity.getString("parent_id"); name = entity.getString("name"); roleCode = entity.getString("rule_code"); boardId = entity.getString("board_id"); indexNo = entity.getInteger("index_no", 0); type = StepType.parse(roleCode); detailState = new DetailState(id, name); } public void addOneUser(String userId, String writerName) { StepUser user = new StepUser(userId, writerName); if(board == null) { board = new StepBoard(); board.setId(roleCode); } board.loadOneUser(userId, user); } public String getId() { return id; } public String getName() { return name; } public String getParentId() { return parentId; } public String getRoleCode() { return roleCode; } public String getBoardId() { return boardId; } public void setBoard(StepBoard board) { this.board = board; } public StepType getType() { return type; } public int getIndexNo() { return indexNo; } public List getUsers() { return board.getUserList(); } public String getWriterNames() { return board.getWriterNames(); } public DetailState getDetailState() { return detailState; } public void writeJSON(IJSONWriter writer) { writer.beginObject(); writer.write("name", name); writer.write("index_no", indexNo); writer.write("writer_name", board.getWriterNames()); writer.endObject(); } }