package com.hp.autonomy.frontend.find.idol.dashboards.widgets;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
import com.hp.autonomy.frontend.configuration.SimpleComponent;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
@Data
@Builder
@JsonDeserialize(builder = TopicMapWidgetSettings.TopicMapWidgetSettingsBuilder.class)
@EqualsAndHashCode(callSuper = false)
public class TopicMapWidgetSettings extends SimpleComponent<TopicMapWidgetSettings> implements WidgetSettings<TopicMapWidgetSettings> {
private final Map<String, Object> widgetSettings;
private final Integer maxResults;
@Override
@JsonAnyGetter
public Map<String, Object> getWidgetSettings() {
return Collections.unmodifiableMap(widgetSettings);
}
@SuppressWarnings({"WeakerAccess", "FieldMayBeFinal", "unused"})
@JsonPOJOBuilder(withPrefix = "")
public static class TopicMapWidgetSettingsBuilder {
private Map<String, Object> widgetSettings = new HashMap<>();
private Integer maxResults;
@SuppressWarnings("unused")
@JsonAnySetter
public TopicMapWidgetSettingsBuilder widgetSetting(final String key, final Object value) {
widgetSettings.put(key, value);
return this;
}
}
}