e4e76811170c53bef61435befb1ab740714277d9
[netvirt.git] /
1 /*
2  * Copyright (c) 2013, 2015 IBM Corporation 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.netvirt.openstack.netvirt.translator.crud;
10
11 import java.util.List;
12
13 import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronRouter;
14
15 /**
16  * This interface defines the methods for CRUD of NB Router objects
17  *
18  */
19
20 public interface INeutronRouterCRUD {
21     /**
22      * Applications call this interface method to determine if a particular
23      * Router object exists
24      *
25      * @param uuid
26      *            UUID of the Router object
27      * @return boolean
28      */
29
30     boolean routerExists(String uuid);
31
32     /**
33      * Applications call this interface method to return if a particular
34      * Router object exists
35      *
36      * @param uuid
37      *            UUID of the Router object
38      * @return {@link NeutronRouter}
39      *          OpenStack Router class
40      */
41
42     NeutronRouter getRouter(String uuid);
43
44     /**
45      * Applications call this interface method to return all Router objects
46      *
47      * @return List of OpenStackRouters objects
48      */
49
50     List<NeutronRouter> getAllRouters();
51
52     /**
53      * Applications call this interface method to add a Router object to the
54      * concurrent map
55      *
56      * @param input
57      *            OpenStackRouter object
58      * @return boolean on whether the object was added or not
59      */
60
61     boolean addRouter(NeutronRouter input);
62
63     /**
64      * Applications call this interface method to remove a Router object to the
65      * concurrent map
66      *
67      * @param uuid
68      *            identifier for the Router object
69      * @return boolean on whether the object was removed or not
70      */
71
72     boolean removeRouter(String uuid);
73
74     /**
75      * Applications call this interface method to edit a Router object
76      *
77      * @param uuid
78      *            identifier of the Router object
79      * @param delta
80      *            OpenStackRouter object containing changes to apply
81      * @return boolean on whether the object was updated or not
82      */
83
84     boolean updateRouter(String uuid, NeutronRouter delta);
85
86     /**
87      * Applications call this interface method to check if a router is in use
88      *
89      * @param routerUUID
90      *            identifier of the Router object
91      * @return boolean on whether the router is in use or not
92      */
93
94     boolean routerInUse(String routerUUID);
95 }