/* Copyright 2006 by Sean Luke and George Mason University Licensed under the Academic Free License version 3.0 See the file "LICENSE" for more information */ package sim.portrayal; import sim.display.*; /** A common interface for portrayal classes. */ public interface Portrayal { /** Provide an inspector for an object. */ public Inspector getInspector(LocationWrapper wrapper, GUIState state); /** Returns a static, one-line name for the given object that is useful for a human to distinguish it from other objects. A simple default would be just to return "" + object. */ public String getName(LocationWrapper wrapper); /** Returns a simple, informative one-line description of the current status of the object, which may change at any time to reflect how the object is changing. A simple default would be just to return getName(wrapper). */ public String getStatus(LocationWrapper wrapper); /** Change the portrayal state to reflect the fact that you've been selected or not selected. Always return true, except if you've received a setSelected(true) and in fact do not wish to be selectable, in which case return false in that sole situation. */ public boolean setSelected(LocationWrapper wrapper, boolean selected); }