| /* |
| * Copyright 2016-present 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.ui; |
| |
| import static com.google.common.base.Preconditions.checkState; |
| |
| /** |
| * Represents a geographically-based map to be used in the user interface |
| * topology view. Instances of this class are immutable. |
| */ |
| public class UiTopoMap { |
| |
| private final String id; |
| private final String desc; |
| private final String filePath; |
| private final double scale; |
| private static final int MAX_LENGTH = 32; |
| private static final String DES_EXC_LIM = "Description is too long"; |
| |
| |
| /** |
| * Creates a new topology map. |
| * |
| * @param id map identifier |
| * @param desc map description |
| * @param filePath map filePath |
| * @param scale map scale |
| */ |
| public UiTopoMap(String id, String desc, String filePath, double scale) { |
| checkState(desc.length() <= MAX_LENGTH, DES_EXC_LIM); |
| this.id = id; |
| this.desc = desc; |
| this.filePath = filePath; |
| this.scale = scale; |
| } |
| |
| /** |
| * Returns the identifier for this map. |
| * |
| * @return the identifier |
| */ |
| public String id() { |
| return id; |
| } |
| |
| /** |
| * Returns the description for this map. |
| * |
| * @return the description |
| */ |
| public String description() { |
| return desc; |
| } |
| |
| /** |
| * Returns the filePath for this map. |
| * |
| * @return the filePath |
| */ |
| public String filePath() { |
| return filePath; |
| } |
| |
| /** |
| * Returns the scale for this map. |
| * |
| * @return the scale |
| */ |
| public double scale() { |
| return scale; |
| } |
| } |