001package io.cui.tools.formatting.template.token;
002
003import java.io.Serializable;
004
005import io.cui.tools.formatting.template.FormatterSupport;
006
007/**
008 * Any token should provide a method to substitute "placeholder" with his value
009 *
010 * @author Eugen Fischer
011 */
012public interface Token extends Serializable {
013
014    /**
015     * @param content must not be null
016     * @return token specific template with substituted attribute value if attribute exists,
017     *         <code>empty</code> String otherwise
018     */
019    String substituteAttribute(FormatterSupport content);
020
021    /**
022     * @return true if Token has no substitutions
023     */
024    boolean isStringToken();
025
026}