io.mateu.dtos.JourneyContainer Maven / Gradle / Ivy
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;
}
}