/* * Copyright 2014 eccentric_nz. */ package me.eccentric_nz.TARDIS.arch.attributes; /** * * @author eccentric_nz */ public enum TARDISAttributeOperation { ADD_NUMBER(0), MULTIPLY_PERCENTAGE(1), ADD_PERCENTAGE(2); private final int id; private TARDISAttributeOperation(int id) { this.id = id; } public int getId() { return id; } public static TARDISAttributeOperation fromId(int id) { // Linear scan is very fast for small N for (TARDISAttributeOperation op : values()) { if (op.getId() == id) { return op; } } throw new IllegalArgumentException("Corrupt operation ID " + id + " detected."); } }