All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.mateu.dtos.JourneyContainer Maven / Gradle / Ivy

There is a newer version: 3.0-alpha.47
Show newest version
package io.mateu.dtos;

import java.util.Collections;
import java.util.List;
import java.util.Map;

public record JourneyContainer(
    String journeyId,
    String journeyTypeId,
    String remoteBaseUrl,
    Class journeyClass,
    Map journeyData,
    Journey journey,
    Map steps,
    List stepHistory,
    Step initialStep,
    Map lastUsedFilters,
    Map> lastUsedSorting) {

  public JourneyContainer {
    journeyData = journeyData != null ? Collections.unmodifiableMap(journeyData) : Map.of();
    steps = steps != null ? Collections.unmodifiableMap(steps) : Map.of();
    stepHistory = stepHistory != null ? Collections.unmodifiableList(stepHistory) : List.of();
    lastUsedFilters =
        lastUsedFilters != null ? Collections.unmodifiableMap(lastUsedFilters) : Map.of();
    lastUsedSorting =
        lastUsedSorting != null ? Collections.unmodifiableMap(lastUsedSorting) : Map.of();
  }

  @Override
  public Map journeyData() {
    return Collections.unmodifiableMap(journeyData);
  }

  @Override
  public Map steps() {
    return Collections.unmodifiableMap(steps);
  }

  @Override
  public List stepHistory() {
    return Collections.unmodifiableList(stepHistory);
  }

  @Override
  public Map lastUsedFilters() {
    return Collections.unmodifiableMap(lastUsedFilters);
  }

  @Override
  public Map> lastUsedSorting() {
    return Collections.unmodifiableMap(lastUsedSorting);
  }

  @Override
  public String toString() {
    return journeyId;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy