/* * Aipo is a groupware program developed by TOWN, Inc. * Copyright (C) 2004-2015 TOWN, Inc. * http://www.aipo.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.aimluck.eip.message; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.aimluck.commons.field.ALDateTimeField; import com.aimluck.commons.field.ALNumberField; import com.aimluck.commons.field.ALStringField; import com.aimluck.eip.common.ALData; import com.aimluck.eip.fileupload.beans.FileuploadBean; import com.aimluck.eip.services.orgutils.ALOrgUtilsService; import com.aimluck.eip.util.ALEipUtils; /** * */ public class MessageResultData implements ALData, Serializable { private static final long serialVersionUID = 1884204884214262528L; private ALNumberField messageId; private ALNumberField roomId; private ALNumberField userId; private ALStringField lastName; private ALStringField firstName; private ALNumberField unreadCount; private ALNumberField memberCount; private ALStringField message; private ALStringField keyword; private ALDateTimeField createDate; private Long photoModified; private boolean hasPhoto = false; private boolean isOwner = false; private transient List<FileuploadBean> attachmentFileList; /** * */ @Override public void initField() { messageId = new ALNumberField(); roomId = new ALNumberField(); userId = new ALNumberField(); lastName = new ALStringField(); firstName = new ALStringField(); unreadCount = new ALNumberField(); memberCount = new ALNumberField(); message = new ALStringField(); message.setTrim(false); createDate = new ALDateTimeField(); attachmentFileList = new ArrayList<FileuploadBean>(); keyword = new ALStringField(); } /** * @param messageId * セットする messageId */ public void setMessageId(long messageId) { this.messageId.setValue(messageId); } /** * @return roomId */ public ALNumberField getMessageId() { return messageId; } /** * @param roomId * セットする roomId */ public void setRoomId(long roomId) { this.roomId.setValue(roomId); } /** * @return roomId */ public ALNumberField getRoomId() { return roomId; } public ALNumberField getUnreadCount() { return unreadCount; } public void setUnreadCount(long unreadCount) { this.unreadCount.setValue(unreadCount); } public void setCreateDate(Date createDate) { this.createDate.setValue(createDate); } public ALDateTimeField getCreateDate() { return ALEipUtils.getFormattedTimeDetail(createDate); } public ALDateTimeField getCreateDateLine() { ALDateTimeField date = new ALDateTimeField("yyyy年M月d日(E)"); date.setValue(createDate.getValue()); return date; } public ALDateTimeField getCreateDateKey() { ALDateTimeField date = new ALDateTimeField("yyyy-MM-dd"); date.setValue(createDate.getValue()); return date; } /** * @param userId * セットする userId */ public void setUserId(long userId) { this.userId.setValue(userId); } /** * @return userId */ public ALNumberField getUserId() { return userId; } /** * @param lastName * セットする lastName */ public void setLastName(String lastName) { this.lastName.setValue(lastName); } /** * @return lastName */ public ALStringField getLastName() { return lastName; } /** * @param firstName * セットする firstName */ public void setFirstName(String firstName) { this.firstName.setValue(firstName); } /** * @return firstName */ public ALStringField getFirstName() { return firstName; } /** * @param memberCount * セットする memberCount */ public void setMemberCount(long memberCount) { this.memberCount.setValue(memberCount); } /** * @return memberCount */ public ALNumberField getMemberCount() { return memberCount; } /** * @param message * セットする message */ public void setMessage(String message) { this.message.setValue(message); } /** * @return message */ public ALStringField getMessage() { return message; } public String getMessageHtml() { return ALEipUtils.getMessageList(message.getValue(), keyword.getValue()); } /** * @param hasPhoto * セットする hasPhoto */ public void setHasPhoto(boolean hasPhoto) { this.hasPhoto = hasPhoto; } /** * @return hasPhoto */ public boolean isHasPhoto() { return hasPhoto; } public boolean isAllRead() { return 0 == this.unreadCount.getValue(); } public int getReadCount() { return (int) (this.memberCount.getValue() - this.unreadCount.getValue() - 1); } /** * @param isOwner * セットする isOwner */ public void setOwner(boolean isOwner) { this.isOwner = isOwner; } /** * @return isOwner */ public boolean isOwner() { return isOwner; } /** * @param photoModified * セットする photoModified */ public void setPhotoModified(Long photoModified) { this.photoModified = photoModified; } /** * @return photoModified */ public Long getPhotoModified() { return photoModified; } public List<FileuploadBean> getAttachmentFileList() { return attachmentFileList; } /** * @return keyword */ public ALStringField getKeyword() { return keyword; } /** * @param keyword * セットする keyword */ public void setKeyword(String keyword) { this.keyword.setValue(keyword); } /** * @param attachmentFileList * セットする attachmentFileList */ public void setAttachmentFileList(List<FileuploadBean> attachmentFileList) { this.attachmentFileList = attachmentFileList == null ? new ArrayList<FileuploadBean>(0) : attachmentFileList; } public ALStringField getDisplayName() { ALStringField displayName = new ALStringField(); if (userId.getValue() < 4) { displayName.setValue(ALOrgUtilsService.getAlias()); } else { displayName.setValue(lastName.getValue() + " " + firstName.getValue()); } return displayName; } public boolean isSystemUser() { return userId.getValue() < 4; } }