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

package com.hypixel.hytale.assetstore.event;

import javax.annotation.Nonnull;
import java.nio.file.Path;
import java.util.List;
import com.hypixel.hytale.event.IEvent;

public abstract class AssetMonitorEvent<T> implements IEvent<T>
{
    @Nonnull
    private final List<Path> createdOrModifiedFilesToLoad;
    @Nonnull
    private final List<Path> removedFilesToUnload;
    @Nonnull
    private final List<Path> createdOrModifiedDirectories;
    @Nonnull
    private final List<Path> removedFilesAndDirectories;
    @Nonnull
    private final String assetPack;
    
    public AssetMonitorEvent(@Nonnull final String assetPack, @Nonnull final List<Path> createdOrModified, @Nonnull final List<Path> removed, @Nonnull final List<Path> createdDirectories, @Nonnull final List<Path> removedDirectories) {
        this.assetPack = assetPack;
        this.createdOrModifiedFilesToLoad = createdOrModified;
        this.removedFilesToUnload = removed;
        this.createdOrModifiedDirectories = createdDirectories;
        this.removedFilesAndDirectories = removedDirectories;
    }
    
    @Nonnull
    public String getAssetPack() {
        return this.assetPack;
    }
    
    @Nonnull
    public List<Path> getCreatedOrModifiedFilesToLoad() {
        return this.createdOrModifiedFilesToLoad;
    }
    
    @Nonnull
    public List<Path> getRemovedFilesToUnload() {
        return this.removedFilesToUnload;
    }
    
    @Nonnull
    public List<Path> getRemovedFilesAndDirectories() {
        return this.removedFilesAndDirectories;
    }
    
    @Nonnull
    public List<Path> getCreatedOrModifiedDirectories() {
        return this.createdOrModifiedDirectories;
    }
}
