package org.jboss.weld.examples.pastecode.session; import javax.ejb.Stateful; import javax.enterprise.context.SessionScoped; import java.util.Date; import java.util.LinkedList; /** * Tracks the post made by the current user * * @author Pete Muir */ @SessionScoped @Stateful // Adds passivation capabilities.... public class PostTracker { private LinkedList<Date> posts; public PostTracker() { this.posts = new LinkedList<Date>(); } public void addPost() { this.posts.offerFirst(new Date()); } public boolean isNewPostAllowed() { if (posts.size() > 2) { long diff = new Date().getTime() - posts.get(2).getTime(); return diff > 20 * 1000; } else { return true; } } }