/* | |
* Copyright 2015 Open Networking Laboratory | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package org.onosproject.vtnrsc.subnet; | |
import org.onosproject.vtnrsc.Subnet; | |
import org.onosproject.vtnrsc.SubnetId; | |
/** | |
* Service for interacting with the inventory of subnets. | |
*/ | |
public interface SubnetService { | |
/** | |
* Returns the subnet with the specified identifier. | |
* | |
* @param subnetId subnet identifier | |
* @return true or false | |
*/ | |
boolean exists(SubnetId subnetId); | |
/** | |
* Returns a collection of the currently known subnets. | |
* | |
* @return iterable collection of subnets | |
*/ | |
Iterable<Subnet> getSubnets(); | |
/** | |
* Returns the subnet with the specified identifier. | |
* | |
* @param subnetId subnet identifier | |
* @return subnet or null if one with the given identifier is not known | |
*/ | |
Subnet getSubnet(SubnetId subnetId); | |
/** | |
* Creates new subnets. | |
* | |
* @param subnets the iterable collection of subnets | |
* @return true if the identifier subnet has been created right | |
*/ | |
boolean createSubnets(Iterable<Subnet> subnets); | |
/** | |
* Updates existing subnets. | |
* | |
* @param subnets the iterable collection of subnets | |
* @return true if all subnets were updated successfully | |
*/ | |
boolean updateSubnets(Iterable<Subnet> subnets); | |
/** | |
* Administratively removes the specified subnets from the store. | |
* | |
* @param subnetIds the iterable collection of subnets identifier | |
* @return true if remove identifier subnets successfully | |
*/ | |
boolean removeSubnets(Iterable<SubnetId> subnetIds); | |
} |