// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.builtin.asseteditor;

import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import com.hypixel.hytale.builtin.asseteditor.data.AssetUndoRedoInfo;
import java.util.Map;

public class UndoRedoManager
{
    private final Map<AssetPath, AssetUndoRedoInfo> assetUndoRedoInfo;
    
    public UndoRedoManager() {
        this.assetUndoRedoInfo = new Object2ObjectOpenHashMap<AssetPath, AssetUndoRedoInfo>();
    }
    
    public AssetUndoRedoInfo getOrCreateUndoRedoStack(final AssetPath path) {
        return this.assetUndoRedoInfo.computeIfAbsent(path, k -> new AssetUndoRedoInfo());
    }
    
    public AssetUndoRedoInfo getUndoRedoStack(final AssetPath path) {
        return this.assetUndoRedoInfo.get(path);
    }
    
    public void putUndoRedoStack(final AssetPath path, final AssetUndoRedoInfo undoRedoInfo) {
        this.assetUndoRedoInfo.put(path, undoRedoInfo);
    }
    
    public AssetUndoRedoInfo clearUndoRedoStack(final AssetPath path) {
        return this.assetUndoRedoInfo.remove(path);
    }
}
