1 5 package com.nightlabs.base.entitylist; 6 7 import java.util.HashSet ; 8 import java.util.Iterator ; 9 import java.util.Set ; 10 11 import org.eclipse.swt.widgets.Composite; 12 13 import com.nightlabs.rcp.composite.OrdinaryWrapperComposite; 14 15 19 public abstract class EntityManagementOrdinaryComposite extends OrdinaryWrapperComposite implements EntityManager 20 { 21 protected Set dataChangedListeners; 22 23 public EntityManagementOrdinaryComposite(Composite parent, int style) 24 { 25 this(parent, style, false); 26 } 27 28 public EntityManagementOrdinaryComposite(Composite parent, int style, boolean doSetLayoutData) 29 { 30 super(parent, style, doSetLayoutData); 31 dataChangedListeners = new HashSet (); 32 } 33 34 38 public void notifyDataChangedListeners() 39 { 40 Iterator i = dataChangedListeners.iterator(); 41 while(i.hasNext()) 42 ((EntityDataChangedListener)i.next()).entityDataChanged(this); 43 } 44 45 49 public void addDataChangedListener(EntityDataChangedListener listener) 50 { 51 if(!dataChangedListeners.contains(listener)) 52 dataChangedListeners.add(listener); 53 } 54 55 59 public void removeDataChangedListener(EntityDataChangedListener listener) 60 { 61 if(dataChangedListeners.contains(listener)) 62 dataChangedListeners.remove(listener); 63 } 64 65 private boolean changed = false; 66 67 public void setChanged(boolean changed) { 68 this.changed = changed; 69 if (changed) 70 notifyDataChangedListeners(); 71 } 72 73 public boolean isChanged() { 74 return changed; 75 } 76 77 public void dispose() 78 { 79 super.dispose(); 80 dataChangedListeners.clear(); 81 dataChangedListeners = null; 82 } 83 } 84 | Popular Tags |