/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.pieShare.pieTools.pieUtilities.service.shutDownService; import java.util.ArrayList; import java.util.List; import org.pieShare.pieTools.pieUtilities.service.shutDownService.api.IShutdownService; import org.pieShare.pieTools.pieUtilities.service.shutDownService.api.IShutdownableService; /** * * @author Svetoslav */ public class ShutdownService implements IShutdownService { private final List<IShutdownableService> listeners = new ArrayList<>(); public ShutdownService(){} public void setListener(IShutdownableService service) { this.registerListener(service); } @Override public void registerListener(IShutdownableService service) { this.listeners.add(service); } @Override public void fireShutdown() { for(IShutdownableService service : this.listeners) { service.shutdown(); } } }