Merge "Remove unused spring dependency and wrong version in web pom"
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / INeutronSubnetAware.java
1 /*\r
2  * Copyright IBM Corporation, 2013.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.controller.networkconfig.neutron;\r
10 \r
11 /**\r
12  * This interface defines the methods a service that wishes to be aware of Neutron Subnets needs to implement\r
13  *\r
14  */\r
15 \r
16 public interface INeutronSubnetAware {\r
17 \r
18     /**\r
19      * Services provide this interface method to indicate if the specified subnet can be created\r
20      *\r
21      * @param subnet\r
22      *            instance of proposed new Neutron Subnet object\r
23      * @return integer\r
24      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299\r
25      *            results in the create operation being interrupted and the returned status value reflected in the\r
26      *            HTTP response.\r
27      */\r
28     public int canCreateSubnet(NeutronSubnet subnet);\r
29 \r
30     /**\r
31      * Services provide this interface method for taking action after a subnet has been created\r
32      *\r
33      * @param subnet\r
34      *            instance of new Neutron Subnet object\r
35      * @return void\r
36      */\r
37     public void neutronSubnetCreated(NeutronSubnet subnet);\r
38 \r
39     /**\r
40      * Services provide this interface method to indicate if the specified subnet can be changed using the specified\r
41      * delta\r
42      *\r
43      * @param delta\r
44      *            updates to the subnet object using patch semantics\r
45      * @param subnet\r
46      *            instance of the Neutron Subnet object to be updated\r
47      * @return integer\r
48      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299\r
49      *            results in the update operation being interrupted and the returned status value reflected in the\r
50      *            HTTP response.\r
51      */\r
52     public int canUpdateSubnet(NeutronSubnet delta, NeutronSubnet original);\r
53 \r
54     /**\r
55      * Services provide this interface method for taking action after a subnet has been updated\r
56      *\r
57      * @param subnet\r
58      *            instance of modified Neutron Subnet object\r
59      * @return void\r
60      */\r
61     public void neutronSubnetUpdated(NeutronSubnet subnet);\r
62 \r
63     /**\r
64      * Services provide this interface method to indicate if the specified subnet can be deleted\r
65      *\r
66      * @param subnet\r
67      *            instance of the Subnet Router object to be deleted\r
68      * @return integer\r
69      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299\r
70      *            results in the delete operation being interrupted and the returned status value reflected in the\r
71      *            HTTP response.\r
72      */\r
73     public int canDeleteSubnet(NeutronSubnet subnet);\r
74 \r
75     /**\r
76      * Services provide this interface method for taking action after a subnet has been deleted\r
77      *\r
78      * @param subnet\r
79      *            instance of deleted Router Subnet object\r
80      * @return void\r
81      */\r
82     public void neutronSubnetDeleted(NeutronSubnet subnet);\r
83 \r
84 }\r