d264d5e5f31599b4b6be97f296731b6d0d3ef2b5
[onosfw.git] /
1 /*
2  * Copyright 2014 Open Networking Laboratory
3  *
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  */
16 package org.onosproject.net.resource.link;
17
18 import com.google.common.annotations.Beta;
19 import com.google.common.base.MoreObjects;
20 import org.onosproject.net.resource.ResourceRequest;
21 import org.onosproject.net.resource.ResourceType;
22
23 import static com.google.common.base.Preconditions.checkNotNull;
24
25 /**
26  * Representation of a request for lambda resource.
27  */
28 public class LambdaResourceRequest implements ResourceRequest {
29
30     private final LambdaResource lambda;
31
32     /**
33      * Constructs a request specifying the given lambda.
34      *
35      * @param lambda lambda to be requested
36      */
37     @Beta
38     public LambdaResourceRequest(LambdaResource lambda) {
39         this.lambda = checkNotNull(lambda);
40     }
41
42     /**
43      * Constructs a request asking an arbitrary available lambda.
44      *
45      * @deprecated in Emu Release
46      */
47     @Deprecated
48     public LambdaResourceRequest() {
49         this.lambda = null;
50     }
51
52     /**
53      * Returns the lambda this request expects.
54      *
55      * @return the lambda this request expects
56      */
57     @Beta
58     public LambdaResource lambda() {
59         return lambda;
60     }
61
62     @Override
63     public ResourceType type() {
64         return ResourceType.LAMBDA;
65     }
66
67     @Override
68     public String toString() {
69         return MoreObjects.toStringHelper(this)
70                 .add("lambda", lambda)
71                 .toString();
72     }
73 }