Project

General

Profile

1
package edu.ucsb.nceas.metacat.event;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5

    
6
public class MetacatEventService {
7
	
8
	private static MetacatEventService instance;
9
	
10
	private List<MetacatEventObserver> observers;
11
	
12
	private MetacatEventService() {
13
		observers = new ArrayList<MetacatEventObserver>();
14
	}
15
	
16
	public static MetacatEventService getInstance() {
17
		if (instance == null) {
18
			instance = new MetacatEventService();
19
		}
20
		return instance;
21
	}
22
	
23
	public void addMetacatEventObserver(MetacatEventObserver o) {
24
		observers.add(o);
25
	}
26
	
27
	public void removeMetacatEventObserver(MetacatEventObserver o) {
28
		observers.remove(o);
29
	}
30
	
31
	public void notifyMetacatEventObservers(MetacatEvent e) {
32
		for (MetacatEventObserver o: observers) {
33
			o.handleEvent(e);
34
		}
35
	}
36
}
(4-4/4)