package com.airlock.iam.plugin.configeditor.session;

import com.airlock.iam.plugin.configeditor.ui.flowviz.FlowVisualizationState;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

public final class FlowVisualizationCache {
   private final Map<String, FlowVisualizationState> cache = new HashMap<>();

   public void setOrientation(String id, FlowVisualizationState.FlowOrientation orientation) {
      if (this.cache.containsKey(id)) {
         this.cache.get(id).setOrientation(orientation);
      } else {
         this.cache.put(id, new FlowVisualizationState(orientation));
      }
   }

   public Optional<FlowVisualizationState> get(String id) {
      return Optional.ofNullable(this.cache.get(id));
   }
}
