blob: 5b9c4a0a88fc99299ae5003d6d4a3e3b50e4210d [file] [log] [blame]
Michele Santuari4b6019e2014-12-19 11:31:45 +01001/*
Ray Milkey34c95902015-04-15 09:47:53 -07002 * Copyright 2014-2015 Open Networking Laboratory
Michele Santuari4b6019e2014-12-19 11:31:45 +01003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Brian O'Connor6de2e202015-05-21 14:30:41 -070016package org.onosproject.net.resource.link;
Michele Santuari4b6019e2014-12-19 11:31:45 +010017
Sho SHIMIZU81cdc392015-10-27 15:18:49 -070018import com.google.common.annotations.Beta;
Michele Santuari4b6019e2014-12-19 11:31:45 +010019import com.google.common.base.MoreObjects;
Brian O'Connor6de2e202015-05-21 14:30:41 -070020import org.onosproject.net.resource.ResourceRequest;
21import org.onosproject.net.resource.ResourceType;
Michele Santuari4b6019e2014-12-19 11:31:45 +010022
Sho SHIMIZU81cdc392015-10-27 15:18:49 -070023import static com.google.common.base.Preconditions.checkNotNull;
24
Michele Santuari4b6019e2014-12-19 11:31:45 +010025/**
26 * Representation of a request for lambda resource.
Sho SHIMIZU364cbac2015-10-29 15:47:35 -070027 *
28 * @deprecated in Emu Release
Michele Santuari4b6019e2014-12-19 11:31:45 +010029 */
Sho SHIMIZU364cbac2015-10-29 15:47:35 -070030@Deprecated
Michele Santuari4b6019e2014-12-19 11:31:45 +010031public class MplsLabelResourceRequest implements ResourceRequest {
32
Sho SHIMIZU81cdc392015-10-27 15:18:49 -070033 private final MplsLabel mplsLabel;
34
35 /**
36 * Constructs a request specifying the given MPLS label.
37 *
38 * @param mplsLabel MPLS label to be requested
39 */
40 @Beta
41 public MplsLabelResourceRequest(MplsLabel mplsLabel) {
42 this.mplsLabel = checkNotNull(mplsLabel);
43 }
44
45 /**
46 * Constructs a request asking an arbitrary available MPLS label.
47 *
48 * @deprecated in Emu Release
49 */
50 @Deprecated
51 public MplsLabelResourceRequest() {
52 this.mplsLabel = null;
53 }
54
55 /**
56 * Returns the MPLS label this request expects.
57 *
58 * @return the MPLS label this request expects
59 */
60 @Beta
61 public MplsLabel mplsLabel() {
62 return mplsLabel;
63 }
64
Michele Santuari4b6019e2014-12-19 11:31:45 +010065 @Override
66 public ResourceType type() {
67 return ResourceType.MPLS_LABEL;
68 }
69
70 @Override
71 public String toString() {
72 return MoreObjects.toStringHelper(this)
Sho SHIMIZU81cdc392015-10-27 15:18:49 -070073 .add("mplsLabel", mplsLabel)
Michele Santuari4b6019e2014-12-19 11:31:45 +010074 .toString();
75 }
76}