/* * Copyright 2014, 2015 Anael Mobilia * * This file is part of NextINpact-Unofficial. * * NextINpact-Unofficial is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NextINpact-Unofficial 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NextINpact-Unofficial. If not, see <http://www.gnu.org/licenses/> */ package com.pcinpact.items; import com.pcinpact.utils.Constantes; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * Objet Article. * * @author Anael */ public class ArticleItem implements Item { /** * ID de l'article. */ private int id; /** * Titre de l'article. */ private String titre; /** * Sous-titre de l'article. */ private String sousTitre = ""; /** * Est-ce un article abonné ? */ private boolean isAbonne; /** * Nombre de commentaires de l'article. */ private int nbCommentaires; /** * URL de l'article. */ private String url; /** * URL de la miniature de l'article. */ private String urlIllustration = ""; /** * Contenu de l'article. */ private String contenu = ""; /** * Timestamp de publication de l'article. */ private long timeStampPublication; /** * L'article est-il déjà lu ? */ private boolean isLu; /** * Le contenu abonné a-t-il été téléchargé ? */ private boolean isDlContenuAbonne; /** * ID du dernier commentaire lu */ private int dernierCommLu = 0; @Override public int getType() { return Item.TYPE_ARTICLE; } /** * Heure et minute de la publication sous forme textuelle. * * @return Heure & minute de la publication */ public String getHeureMinutePublication() { Date maDate = new Date(this.getTimeStampPublication()); // Format souhaité DateFormat dfm = new SimpleDateFormat(Constantes.FORMAT_AFFICHAGE_ARTICLE_HEURE, Constantes.LOCALE); return dfm.format(maDate); } /** * Date de la publication sous forme textuelle. * * @return Date de la publication */ public String getDatePublication() { Date maDate = new Date(this.getTimeStampPublication()); // Format souhaité DateFormat dfm = new SimpleDateFormat(Constantes.FORMAT_AFFICHAGE_SECTION_DATE, Constantes.LOCALE); String laDate = dfm.format(maDate); // Première lettre en majuscule laDate = String.valueOf(laDate.charAt(0)).toUpperCase(Constantes.LOCALE) + laDate.substring(1); return laDate; } /** * @return id */ public int getId() { return id; } /** * @param id id */ public void setId(int id) { this.id = id; } /** * @return titre */ public String getTitre() { return titre; } /** * @param titre titre */ public void setTitre(String titre) { this.titre = titre; } /** * @return sousTitre */ public String getSousTitre() { return sousTitre; } /** * @param sousTitre sousTitre */ public void setSousTitre(String sousTitre) { this.sousTitre = sousTitre; } /** * @return isAbonne */ public boolean isAbonne() { return isAbonne; } /** * @param isAbonne isAbonne */ public void setAbonne(boolean isAbonne) { this.isAbonne = isAbonne; } /** * @return nbCommentaires */ public int getNbCommentaires() { return nbCommentaires; } /** * @param nbCommentaires nbCommentaires */ public void setNbCommentaires(int nbCommentaires) { this.nbCommentaires = nbCommentaires; } /** * @return url */ public String getUrl() { return url; } /** * @param url url */ public void setUrl(String url) { this.url = url; } /** * @return urlIllustration */ public String getUrlIllustration() { return urlIllustration; } /** * @param urlIllustration urlIllustration */ public void setUrlIllustration(String urlIllustration) { this.urlIllustration = urlIllustration; } /** * @return contenu */ public String getContenu() { return contenu; } /** * @param contenu contenu */ public void setContenu(String contenu) { this.contenu = contenu; } /** * @return timeStampPublication */ public long getTimeStampPublication() { return timeStampPublication; } /** * @param timeStampPublication timeStampPublication */ public void setTimeStampPublication(long timeStampPublication) { this.timeStampPublication = timeStampPublication; } /** * @return isLu */ public boolean isLu() { return isLu; } /** * @param isLu isLu */ public void setLu(boolean isLu) { this.isLu = isLu; } /** * @return isDlContenuAbonne */ public boolean isDlContenuAbonne() { return isDlContenuAbonne; } /** * @param isDlContenuAbonne isDlContenuAbonne */ public void setDlContenuAbonne(boolean isDlContenuAbonne) { this.isDlContenuAbonne = isDlContenuAbonne; } /** * @return ID dernier commentaire lu */ public int getDernierCommLu() { return dernierCommLu; } /** * @param dernierCommLu ID dernier commentaire lu */ public void setDernierCommLu(int dernierCommLu) { this.dernierCommLu = dernierCommLu; } }