1 package net.wpitchoune.pnews;
3 import java.time.Instant;
4 import java.util.concurrent.atomic.AtomicLong;
7 private final String title;
8 private final String description;
9 private final String thumbnail;
10 private final String link;
11 private final Instant publicationDate;
12 private final String website;
13 private final String[] entities;
14 private final AtomicLong readCount = new AtomicLong();
16 public Article(String link, String title, String description, String thumbnail, Instant publicationDate, String website, String[] entities) {
19 this.description = description;
20 this.thumbnail = thumbnail;
21 this.publicationDate = publicationDate;
22 this.website = website;
23 this.entities = entities;
26 public String getTitle() {
30 public String getDescription() {
34 public String getLink() {
38 public String getThumbnail() {
42 public String getWebsite() {
46 public long getReadCount() {
47 return readCount.get();
50 public String[] getEntities() {
54 public boolean hasEntity(String entity) {
55 for (String e: entities)
62 public Instant getPublicationDate() {
63 return publicationDate;
66 public void incrementReadCount() {
67 readCount.incrementAndGet();