001    package com.hammurapi.render;
002    
003    import java.io.File;
004    import java.util.List;
005    import java.util.Locale;
006    import java.util.Map;
007    
008    import com.hammurapi.common.Context;
009    
010    /**
011     * Renders one or more files.
012     * @author Pavel Vlasov
013     *
014     */
015    public interface MultiFileRenderer {
016            /**
017             * Renders to the primary file. May create additional files.
018             * the primary file.
019             * @param out Primary output file.
020             * @param environment Environment.
021             * @param context Context
022             * @param profile Rendering "profile", e.g. "outline", "embedded". Can be null.
023             * @param locale Locale. If null then the system default locale is used. 
024             * @return List of created files, the primary file always comes first.
025             * @throws RenderingException
026             */
027            List<File> render(File out, Map<String, Object> environment, Context context, String profile, Locale locale) throws RenderingException;
028    
029    }