blob: 78f211c9b742deb615b612285f93971071c297d2 [file] [log] [blame]
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07001/*
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 */
Yuta HIGUCHIdc7374c2014-10-10 11:11:09 -070016package org.onlab.onos.cluster;
Yuta HIGUCHI9ee60f62014-10-09 10:00:01 -070017
18import com.google.common.base.Function;
19
20/**
21 * Function to convert ControllerNode to NodeId.
22 */
23public final class ControllerNodeToNodeId
24 implements Function<ControllerNode, NodeId> {
25
26 private static final ControllerNodeToNodeId INSTANCE = new ControllerNodeToNodeId();
27
28 @Override
29 public NodeId apply(ControllerNode input) {
Yuta HIGUCHIb35a3812014-10-15 23:22:17 -070030 if (input == null) {
31 return null;
32 } else {
33 return input.id();
34 }
Yuta HIGUCHI9ee60f62014-10-09 10:00:01 -070035 }
36
Yuta HIGUCHIdc7374c2014-10-10 11:11:09 -070037 /**
38 * Returns a Function to convert ControllerNode to NodeId.
39 *
40 * @return ControllerNodeToNodeId instance.
41 */
Yuta HIGUCHI9ee60f62014-10-09 10:00:01 -070042 public static ControllerNodeToNodeId toNodeId() {
43 return INSTANCE;
44 }
45}