support for indexing WebM videos
[meviz.git] / src / main / java / eu / svjatoslav / meviz / htmlindexer / Layout.java
index 2dac2ff..4a21863 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * Meviz - Various tools collection to work with multimedia.
  * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 2 of the GNU General Public License
  * as published by the Free Software Foundation.
@@ -9,14 +9,18 @@
 
 package eu.svjatoslav.meviz.htmlindexer;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
+import java.util.List;
 
+import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata;
 import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.AbstractFile;
+import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.Picture;
 
 /**
  * In order to have possibility of several different layouts per directory.
  * Universal interface is defined.
- * 
+ *
  * Layout implementation is responsible for actual HTML generation.
  */
 
@@ -25,24 +29,28 @@ public interface Layout {
        /**
         * Enlist directory.
         */
-       public void enlistDirectory(AbstractFile directory);
+       public void enlistDirectory(AbstractFile directory,
+                       DirectoryMetadata parentDirectoryMetadata);
 
        /**
         * Enlist simple file.
         */
-       public void enlistFile(AbstractFile file);
+       public void enlistFile(AbstractFile file,
+                       DirectoryMetadata parentDirectoryMetadata);
 
        /**
         * Enlist image file.
         */
-       public void enlistImage(AbstractFile picture);
+       public void enlistImage(Picture picture,
+                       DirectoryMetadata parentDirectoryMetadata);
 
        /**
         * Enlist video in OGV format.
-        * 
+        *
         * @throws UnsupportedEncodingException
         */
-       public void enlistOgv(AbstractFile file)
+       public void enlistOgv(AbstractFile file,
+                       DirectoryMetadata parentDirectoryMetadata)
                        throws UnsupportedEncodingException;
 
        /**
@@ -55,12 +63,19 @@ public interface Layout {
        /**
         * After necessary files have been enlisted for particular directory, use
         * this method to retrieve generated HTML result.
+        *
+        * @param metadata
+        * @throws IOException
         */
-       public String getHtml();
+       public String getHtml(final boolean showTitle,
+                       final boolean doHtmlHeaderAndFooter, DirectoryMetadata metadata)
+                       throws IOException;
 
        /**
         * Initialize layout for particular directory.
         */
-       public void init(String galleryTitle, String[] path,
-                       final AbstractIndexer indexer, final String pathPrefix);
+       public void init(String galleryTitle, List<String> path,
+                       final AbstractIndexer indexer, IndexingContext context);
+
+       public void enlistWebm(AbstractFile file, DirectoryMetadata directory);
 }