2 * Copyright (c) 2016 Cisco and/or its affiliates.
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:
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package io.fd.honeycomb.lisp.translate.read.dump.executor.params;
19 import static com.google.common.base.Preconditions.checkNotNull;
22 * Params for dumping locators
24 public final class LocatorDumpParams {
26 private final int locatorSetIndex;
27 private final byte filter;
29 private LocatorDumpParams(LocatorDumpParamsBuilder builder) {
30 this.locatorSetIndex = builder.locatorSetIndex;
31 this.filter = builder.filter;
34 public int getLocatorSetIndex() {
35 return locatorSetIndex;
38 public byte getFilter() {
43 * Enum for filtering which locators to dump
45 public enum LocatorDumpFilter {
51 private final int value;
53 private LocatorDumpFilter(int value) {
57 public final int getValue() {
62 public static final class LocatorDumpParamsBuilder {
64 public int locatorSetIndex;
68 public LocatorDumpParamsBuilder setLocatorSetIndex(final int locatorSetIndex) {
69 this.locatorSetIndex = locatorSetIndex;
73 public LocatorDumpParamsBuilder setFilter(final LocatorDumpFilter filter) {
74 this.filter = Integer.valueOf(checkNotNull(filter, "Cannot set null filter").getValue()).byteValue();
78 public LocatorDumpParams build() {
79 return new LocatorDumpParams(this);