/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.smartitengineering.user.service.impl;
import com.google.inject.Inject;
import com.smartitengineering.domain.PersistentDTO;
import com.smartitengineering.user.observer.CRUDObservable;
import com.smartitengineering.user.observer.CRUDObserver;
import com.smartitengineering.user.observer.ObserverNotification;
import java.util.Set;
/**
*
* @author modhu7
*/
public class ObservableImpl implements CRUDObservable {
@Inject
private Set<CRUDObserver> observers;
public Set<CRUDObserver> getObservers() {
return observers;
}
public void setObservers(Set<CRUDObserver> observers) {
this.observers = observers;
}
@Override
public void addObserver(CRUDObserver observer) {
if (observer != null) {
observers.add(observer);
}
}
@Override
public void removeObserver(CRUDObserver observer) {
if (observer != null) {
observers.remove(observer);
}
}
@Override
public void notifyObserver(ObserverNotification notification, PersistentDTO object) {
for (CRUDObserver observer : observers) {
observer.update(notification, object);
}
}
}