package photoSpreadParser.photoSpreadExpression.photoSpreadFunctions; /** * Implementing this Interface means that the implementing * class can be the result of a PhotoSpread function. More * precisely: all PhotoSpread functions return an ArrayList * of a particular type. Implementing this Interface ensures * that the implementing class can be returned in one of * these arrays. * * @author paepcke * */ public interface FunctionResultable { /** * Every FunctionResultable must be able to provide * a PhotoSpreadConstant (or subclass of that class) * object that wraps it for use in function results. * Examples: * PhotoSpreadStringObject.getAsConstant() --> PhotoSpreadStringConstant * PhotoSpreadImage.getAsConstant() --> PhotoSpreadImageConstant * @return An instance of PhotoSpreadConstant or one of its subclasses. This * instance wraps the implementing object. */ // public PhotoSpreadConstant getAsConstant(); }