blob: 2a8af28f5d320797dd76d2da44352a2d314f5eab [file] [log] [blame]
/*
* Copyright (C) 2018, Thomas Wolf <thomas.wolf@paranor.ch> and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.internal.transport.sshd;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.sshd.client.config.hosts.HostConfigEntry;
import org.eclipse.jgit.annotations.NonNull;
/**
* A {@link HostConfigEntry} that provides access to the multi-valued keys as
* lists of strings. The super class treats them as single strings containing
* comma-separated lists.
*/
public class JGitHostConfigEntry extends HostConfigEntry {
private Map<String, List<String>> multiValuedOptions;
/**
* Sets the multi-valued options.
*
* @param options
* to set, may be {@code null} to set an empty map
*/
public void setMultiValuedOptions(Map<String, List<String>> options) {
multiValuedOptions = options;
}
/**
* Retrieves all multi-valued options.
*
* @return an unmodifiable map
*/
@NonNull
public Map<String, List<String>> getMultiValuedOptions() {
Map<String, List<String>> options = multiValuedOptions;
if (options == null) {
return Collections.emptyMap();
}
return Collections.unmodifiableMap(options);
}
}