(no commit message)
[utils] / wicket / components / src / main / java / org / wamblee / wicket / page / FlushEntityManagerBehavior.java
index 4362faa7dabe0b31db6362663e8721d5e28af203..a8cf15d735bdcd3905c15b1ed43581dba44fa203 100644 (file)
@@ -30,25 +30,24 @@ import org.apache.wicket.markup.html.WebPage;
  * @author Erik Brakkee
  * 
  */
-public class FlushEntityManagerBehavior extends AbstractPageBehavior {
+public abstract class FlushEntityManagerBehavior extends AbstractPageBehavior {
 
     private static final Logger LOGGER = Logger
         .getLogger(FlushEntityManagerBehavior.class.getName());
 
-    private EntityManager entityManager;
-
     /**
      * Constructs the behavior.
      * 
      * @param aEntityManager
      *            Contextual reference to an entitymanager.
      */
-    public FlushEntityManagerBehavior(EntityManager aEntityManager) {
-        entityManager = aEntityManager;
+    public FlushEntityManagerBehavior() {
+        // Empty.
     }
 
     @Override
     public void onAfterRender(WebPage aPage) {
+        EntityManager entityManager = getEntityManager();
         try {
             if (entityManager.isOpen()) {
                 entityManager.flush();
@@ -61,5 +60,11 @@ public class FlushEntityManagerBehavior extends AbstractPageBehavior {
             LOGGER.log(Level.WARNING, "Could not flush entitymanager", e);
         }
     }
+    
+    /**
+     * Gets the entity mmanager to flush.
+     * @return Entity manager.
+     */
+    public abstract EntityManager getEntityManager();
 
 }