nl.knowledgeplaza.util.jpa
Class EntityManagerChangeCount

java.lang.Object
  extended by nl.knowledgeplaza.util.jpa.EntityManagerChangeCount

public class EntityManagerChangeCount
extends Object

ChangeCount: a per EntityManager registration of changes present in the BM The logical place to maintain a indication of if there are any pending changes, is within the BM. Any other place (like the GUI) will result in complex administration, but using the property change event it is easily registered in the BM. There is one issue: the does not automatically clear when the EntityManager refreshes, so this has to be done explicitely from the code (TODO: can this be detected somehow????)

Author:
user

Nested Class Summary
static interface EntityManagerChangeCount.DataChangeListener
           
static class EntityManagerChangeCount.EntityChangeEvent
           
static interface EntityManagerChangeCount.EntityChangeListener
           
 
Constructor Summary
EntityManagerChangeCount()
           
 
Method Summary
static void addDataChange(String name)
          Force-add a change
static void addDataChangeListener(EntityManagerChangeCount.DataChangeListener o)
          DataChangeListener
static void addEntityChangeListener(EntityManagerChangeCount.EntityChangeListener o)
          DataChangeListener
static void clearPendingChanges()
           
static void clearPendingChanges(javax.persistence.EntityManager entityManager)
           
static String describePendingChangesDetailed()
           
static String describePendingChangesDetailed(javax.persistence.EntityManager entityManager)
           
static String describePendingChangesSimple()
           
static String describePendingChangesSimple(javax.persistence.EntityManager entityManager)
           
static void fireDataChanges()
           
static void fireEntityChanges(EntityManagerChangeCount.EntityChangeEvent event)
           
static boolean hasPendingChanges()
           
static boolean hasPendingChanges(javax.persistence.EntityManager entityManager)
           
static void markAsChanged(Object o)
           
static void markAsUnchanged(Object o)
           
static void removeDataChangeListener(EntityManagerChangeCount.DataChangeListener o)
           
static void removeEntityChangeListener(EntityManagerChangeCount.EntityChangeListener o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EntityManagerChangeCount

public EntityManagerChangeCount()
Method Detail

markAsChanged

public static void markAsChanged(Object o)
Parameters:
o -

markAsUnchanged

public static void markAsUnchanged(Object o)
Parameters:
o -

hasPendingChanges

public static boolean hasPendingChanges()
Returns:

hasPendingChanges

public static boolean hasPendingChanges(javax.persistence.EntityManager entityManager)
Returns:

describePendingChangesSimple

public static String describePendingChangesSimple()
Returns:

describePendingChangesSimple

public static String describePendingChangesSimple(javax.persistence.EntityManager entityManager)
Returns:

describePendingChangesDetailed

public static String describePendingChangesDetailed()
Returns:

describePendingChangesDetailed

public static String describePendingChangesDetailed(javax.persistence.EntityManager entityManager)
Returns:

clearPendingChanges

public static void clearPendingChanges()

clearPendingChanges

public static void clearPendingChanges(javax.persistence.EntityManager entityManager)

addEntityChangeListener

public static void addEntityChangeListener(EntityManagerChangeCount.EntityChangeListener o)
DataChangeListener


removeEntityChangeListener

public static void removeEntityChangeListener(EntityManagerChangeCount.EntityChangeListener o)

fireEntityChanges

public static void fireEntityChanges(EntityManagerChangeCount.EntityChangeEvent event)

addDataChangeListener

public static void addDataChangeListener(EntityManagerChangeCount.DataChangeListener o)
DataChangeListener


removeDataChangeListener

public static void removeDataChangeListener(EntityManagerChangeCount.DataChangeListener o)

fireDataChanges

public static void fireDataChanges()

addDataChange

public static void addDataChange(String name)
Force-add a change

Parameters:
name -


Copyright © 2011 KnowledgePlaza. All Rights Reserved.