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

package com.hypixel.hytale.assetstore.event;

import java.util.Collections;
import javax.annotation.Nonnull;
import java.util.Set;
import com.hypixel.hytale.assetstore.AssetMap;
import com.hypixel.hytale.assetstore.JsonAsset;

public class RemovedAssetsEvent<K, T extends JsonAsset<K>, M extends AssetMap<K, T>> extends AssetsEvent<K, T>
{
    private final Class<T> tClass;
    private final M assetMap;
    @Nonnull
    private final Set<K> removedAssets;
    private final boolean replaced;
    
    public RemovedAssetsEvent(final Class<T> tClass, final M assetMap, @Nonnull final Set<K> removedAssets, final boolean replaced) {
        this.tClass = tClass;
        this.assetMap = assetMap;
        this.removedAssets = Collections.unmodifiableSet((Set<? extends K>)removedAssets);
        this.replaced = replaced;
    }
    
    public Class<T> getAssetClass() {
        return this.tClass;
    }
    
    public M getAssetMap() {
        return this.assetMap;
    }
    
    @Nonnull
    public Set<K> getRemovedAssets() {
        return this.removedAssets;
    }
    
    public boolean isReplaced() {
        return this.replaced;
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "RemovedAssetsEvent{removedAssets=" + String.valueOf(this.removedAssets) + ", replaced=" + this.replaced + "} " + super.toString();
    }
}
