Merge "Use ${project.version} for internal dependencies"
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / translator / iaware / INeutronFirewallPolicyAware.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.ovsdb.openstack.netvirt.translator.iaware;
10
11 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronFirewallPolicy;
12
13 /**
14  * This interface defines the methods a service that wishes to be aware of Firewall Policys needs to implement
15  *
16  */
17
18 public interface INeutronFirewallPolicyAware {
19
20     /**
21      * Services provide this interface method to indicate if the specified firewallPolicy can be created
22      *
23      * @param firewallPolicy
24      *            instance of proposed new Firewall Policy object
25      * @return integer
26      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
27      *            results in the create operation being interrupted and the returned status value reflected in the
28      *            HTTP response.
29      */
30     int canCreateNeutronFirewallPolicy(NeutronFirewallPolicy firewallPolicy);
31
32     /**
33      * Services provide this interface method for taking action after a firewallPolicy has been created
34      *
35      * @param firewallPolicy
36      *            instance of new Firewall Policy object
37      */
38     void neutronFirewallPolicyCreated(NeutronFirewallPolicy firewallPolicy);
39
40     /**
41      * Services provide this interface method to indicate if the specified firewallPolicy can be changed using the specified
42      * delta
43      *
44      * @param delta
45      *            updates to the firewallPolicy object using patch semantics
46      * @param original
47      *            instance of the Firewall Policy object to be updated
48      * @return integer
49      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
50      *            results in the update operation being interrupted and the returned status value reflected in the
51      *            HTTP response.
52      */
53     int canUpdateNeutronFirewallPolicy(NeutronFirewallPolicy delta, NeutronFirewallPolicy original);
54
55     /**
56      * Services provide this interface method for taking action after a firewallPolicy has been updated
57      *
58      * @param firewallPolicy
59      *            instance of modified Firewall Policy object
60      */
61     void neutronFirewallPolicyUpdated(NeutronFirewallPolicy firewallPolicy);
62
63     /**
64      * Services provide this interface method to indicate if the specified firewallPolicy can be deleted
65      *
66      * @param firewallPolicy
67      *            instance of the Firewall Policy object to be deleted
68      * @return integer
69      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
70      *            results in the delete operation being interrupted and the returned status value reflected in the
71      *            HTTP response.
72      */
73     int canDeleteNeutronFirewallPolicy(NeutronFirewallPolicy firewallPolicy);
74
75     /**
76      * Services provide this interface method for taking action after a firewallPolicy has been deleted
77      *
78      * @param firewallPolicy
79      *            instance of deleted Firewall Policy object
80      */
81     void neutronFirewallPolicyDeleted(NeutronFirewallPolicy firewallPolicy);
82 }