package com.hypixel.hytale.component.dependency; import com.hypixel.hytale.component.ComponentRegistry; import com.hypixel.hytale.component.system.ISystem; import javax.annotation.Nonnull; public abstract class Dependency { @Nonnull protected final Order order; protected final int priority; public Dependency(@Nonnull Order order, int priority) { this.order = order; this.priority = priority; } public Dependency(@Nonnull Order order, @Nonnull OrderPriority priority) { this.order = order; this.priority = priority.getValue(); } @Nonnull public Order getOrder() { return this.order; } public int getPriority() { return this.priority; } public abstract void validate(@Nonnull ComponentRegistry var1); public abstract void resolveGraphEdge(@Nonnull ComponentRegistry var1, @Nonnull ISystem var2, @Nonnull DependencyGraph var3); @Nonnull @Override public String toString() { return "Dependency{order=" + this.order + "}"; } }