001    package net.sf.tacos.markup;
002    
003    import org.apache.tapestry.IMarkupWriter;
004    
005    /**
006     * An easier to use {@link org.apache.tapestry.IMarkupWriter}.
007     * 
008     * @author Andreas Andreou
009     */
010    public interface IExtendedMarkupWriter extends IMarkupWriter {
011        /**
012         * Starts an element that will not later be matched with an end() call
013         * ( this is useful for elements that do not need closing tags ) and appends
014         * the given attributes and values.
015         * @see org.apache.tapestry.IMarkupWriter#beginEmpty(String)
016         * @param tag The html tag to generate.
017         * @param attributes An alterating list of attributes and values.
018         * @return
019         */
020        IExtendedMarkupWriter createEmpty(String tag, String... attributes);
021    
022        /**
023         * Starts a new element and appends
024         * the given attributes and values.
025         * @see org.apache.tapestry.IMarkupWriter#begin(String)
026         * @param tag
027         * @param attributes
028         * @return
029         */
030        IExtendedMarkupWriter create(String tag, String... attributes);
031    }