Initial push of Neutron interface
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / INeutronPortAware.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 Ports needs to implement\r
13  *\r
14  */\r
15 \r
16 public interface INeutronPortAware {\r
17 \r
18     /**\r
19      * Services provide this interface method to indicate if the specified port can be created\r
20      *\r
21      * @param port\r
22      *            instance of proposed new Neutron Port 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 canCreatePort(NeutronPort port);\r
29 \r
30     /**\r
31      * Services provide this interface method for taking action after a port has been created\r
32      *\r
33      * @param port\r
34      *            instance of new Neutron Port object\r
35      * @return void\r
36      */\r
37     public void neutronPortCreated(NeutronPort port);\r
38 \r
39     /**\r
40      * Services provide this interface method to indicate if the specified port can be changed using the specified\r
41      * delta\r
42      *\r
43      * @param delta\r
44      *            updates to the port object using patch semantics\r
45      * @param port\r
46      *            instance of the Neutron Port 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 canUpdatePort(NeutronPort delta, NeutronPort original);\r
53 \r
54     /**\r
55      * Services provide this interface method for taking action after a port has been updated\r
56      *\r
57      * @param port\r
58      *            instance of modified Neutron Port object\r
59      * @return void\r
60      */\r
61     public void neutronPortUpdated(NeutronPort port);\r
62 \r
63     /**\r
64      * Services provide this interface method to indicate if the specified port can be deleted\r
65      *\r
66      * @param port\r
67      *            instance of the Neutron Port 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 canDeletePort(NeutronPort port);\r
74 \r
75     /**\r
76      * Services provide this interface method for taking action after a port has been deleted\r
77      *\r
78      * @param port\r
79      *            instance of deleted Port Network object\r
80      * @return void\r
81      */\r
82     public void neutronPortDeleted(NeutronPort port);\r
83 }\r