1 package org.myoodb.event; 25 26 import org.myoodb.collectable.*; 27 28 public class EventDbImpl extends LogObjectDbImpl implements Event 29 { 30 private org.myoodb.core.Identifier m_identifier; 31 32 public EventDbImpl() 33 { 34 m_identifier = null; 35 } 36 37 private void updateLogTime(boolean remove) 38 { 39 EventLog eventLog = (EventLog) getLogStore(); 40 41 if (eventLog == null) 42 { 43 throw new org.myoodb.exception.PermissionException("Event notification failed: no associated EventLog"); 44 } 45 46 if (remove == true) 47 { 48 eventLog.removeEvent(this); 49 } 50 51 eventLog.addEvent(this); 52 } 53 54 public void reNotify() 55 { 56 if (m_identifier == null) 57 { 58 throw new org.myoodb.exception.PermissionException("Re-Notify failed: event has not yet been posted"); 59 } 60 61 updateLogTime(true); 62 } 63 64 public void notify(Collectable collectable) 65 { 66 if (m_identifier != null) 67 { 68 throw new org.myoodb.exception.PermissionException("Notify failed: event has already been posted"); 69 } 70 71 m_identifier = collectable.getDatabaseHandle(); 72 73 updateLogTime(false); 74 } 75 76 public org.myoodb.core.Identifier getCollectableHandle() 77 { 78 return m_identifier; 79 } 80 } 81 | Popular Tags |