package de.haukerehfeld.quakeinjector; /** * Requirements that can be sorted alphabetically by id */ public abstract class SortableRequirement implements Requirement { private final String id; private boolean isInstalled = false; public SortableRequirement(String id) { this.id = id; } /** * get id */ public String getId() { return id; } public boolean isInstalled() { return isInstalled; } public void setInstalled(boolean installed) { isInstalled = installed; notifyChangeListeners(); } protected abstract void notifyChangeListeners(); public int compareTo(Requirement o) { return getId().compareTo(((Requirement) o).getId()); } @Override public String toString() { return getId(); } }