/*
* SK's Minecraft Launcher
* Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors
* Please see LICENSE.txt for license information.
*/
package com.skcraft.launcher.model.modpack;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.skcraft.launcher.install.InstallLog;
import com.skcraft.launcher.install.Installer;
import com.skcraft.launcher.install.UpdateCache;
import lombok.Data;
import lombok.ToString;
import java.io.File;
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type",
defaultImpl = FileInstall.class)
@JsonSubTypes({
@JsonSubTypes.Type(value = FileInstall.class, name = "file")
})
@Data
@ToString(exclude = "manifest")
public abstract class ManifestEntry {
@JsonBackReference("manifest")
private Manifest manifest;
private Condition when;
public abstract void install(Installer installer, InstallLog log, UpdateCache cache, File contentDir) throws Exception;
}