/** * Copyright (c) <2013> <Radware Ltd.> and others. All rights reserved. * * This program and the accompanying materials are made available under the terms of the Eclipse Public License * v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html * @author Gera Goft * @version 0.1 */ package org.opendaylight.defense4all.core; import java.util.Collection; import javax.transaction.NotSupportedException; import org.opendaylight.defense4all.core.interactionstructures.PNStatReport; import org.opendaylight.defense4all.framework.core.ExceptionControlApp; public interface DFMgmtPoint { /** * Set the OFC address. If this overrides the previously set OFC address, then it is considered a different OFC. * In that case the application will attempt to contact the previously set OFC in order to remove all monitors * set through it, prior to setting them through the new OFC. * @param param_name param description * @return return description * @throws exception_type circumstances description */ public void addOFC(OFC ofc) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws exception_type circumstances description */ public void removeOFC(String ofcLabel) throws ExceptionControlApp; /** * Set the OFC address. If this overrides the previously set OFC address, then it is considered a different OFC. * In that case the application will attempt to contact the previously set OFC in order to remove all monitors * set through it, prior to setting them through the new OFC. * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws NotSupportedException * @throws IllegalArgumentException * @throws exception_type circumstances description */ public void addNetNode(NetNode netNode) throws ExceptionControlApp, IllegalArgumentException, NotSupportedException; /** * #### method description #### * @param param_name param description * @return return description * @throws NotSupportedException * @throws exception_type circumstances description */ public void removeNetNode(String netNodeLabel) throws ExceptionControlApp, NotSupportedException; /** * Set the OFC address. If this overrides the previously set OFC address, then it is considered a different OFC. * In that case the application will attempt to contact the previously set OFC in order to remove all monitors * set through it, prior to setting them through the new OFC. * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public void addAMS(AMS ams) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public boolean removeAMS(String dpLabel) throws ExceptionControlApp; /** * Add an external detector. * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public void addDetector(DetectorInfo detector) throws ExceptionControlApp; /** * Add protected object and notify the specified detector to start monitoring this PN. * @param param_name param description * @return return description * @throws IllegalArgumentException If the configuration information does not conform with AMS requirements * @throws Exception */ public void addPN(PN pn) throws IllegalArgumentException, Exception; /** * Change protected object. No op at this time. * @param param_name param description */ public void changePN(PN pn); /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public boolean removePN(String pnLabel) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public PNStatReport getLatestPNStatReport(String pnKey) throws ExceptionControlApp, IllegalArgumentException; /** * * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public Collection<PNStatReport> getLatestPNStatReports() throws ExceptionControlApp; }