3 import java.lang.ref.WeakReference;
4 import java.util.HashMap;
8 public class ArticleStore {
9 public final static ArticleStore singleton = new ArticleStore();
10 private final HashMap<String, WeakReference<Article>> articles = new HashMap<>();
12 public Article get(String link) {
13 WeakReference<Article> ref;
15 synchronized (articles) {
16 ref = articles.get(link);
23 public Article getArticle(String link, ArticleFactory factory) {
26 synchronized (articles) {
29 result = factory.create();
30 articles.put(link, new WeakReference<>(result));