X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Fmedia%2FMirMedia.java;h=e706d9aa22ed04efe14e87df19a598bbb82e91b9;hb=aa507bfd18e723d21e63454a26af3320bb8c27f2;hp=7851d901f18f67fb4d05ddd793099f0a5b2ba59d;hpb=19e43122d238202f5026ae776893305bdcdafc7c;p=mir.git
diff --git a/source/mir/media/MirMedia.java b/source/mir/media/MirMedia.java
index 7851d901..e706d9aa 100755
--- a/source/mir/media/MirMedia.java
+++ b/source/mir/media/MirMedia.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2001, 2002 The Mir-coders group
+ * Copyright (C) 2001, 2002 The Mir-coders group
*
* This file is part of Mir.
*
@@ -18,33 +18,29 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with the com.oreilly.servlet library, any library
- * licensed under the Apache Software License, The Sun (tm) Java Advanced
- * Imaging library (JAI), The Sun JIMI library (or with modified versions of
- * the above that use the same license as the above), and distribute linked
- * combinations including the two. You must obey the GNU General Public
- * License in all respects for all of the code used other than the above
- * mentioned libraries. If you modify this file, you may extend this exception
- * to your version of the file, but you are not obligated to do so. If you do
- * not wish to do so, delete this exception statement from your version.
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
+ * If you do not wish to do so, delete this exception statement from your version.
*/
-
package mir.media;
-import java.util.*;
-import java.io.InputStream;
-
-import freemarker.template.SimpleList;
-
-import mir.entity.*;
+import java.io.InputStream;
+import java.util.List;
+
+import mir.entity.Entity;
/**
* Interface for Media handling in Mir. All media handlers
* must implement this interface. Each specific media type,
* be it Gif, Jpeg, Mp3 audio, Real Audio or quicktime video
* has special needs when it comes to representation on the various
- * pages (article, list, summary), must be stored differently and has a
- * different URL, etc... This interface allows Mir to support
+ * pages (article, list, summary), must be stored differently and has a
+ * different URL, etc... This interface allows Mir to support
* an infinite (I hope) number of media types. Once this is done,
* no code at any other level in Mir needs to be changed other than
* adding the content-type <-> media handler name mapping in the
@@ -63,7 +59,7 @@ import mir.entity.*;
*
* The "name" field is used for various display/filenaming purposes. it should
* match a valid file extension name for a media_type (we could have used the
- * content-type map for this....).
+ * content-type map for this....).
*
* The "mime_type" field is the most important as it does maps the type to Java
* classes (the storage and media_handler name). We call those classes using
@@ -81,9 +77,9 @@ import mir.entity.*;
*
* Most media handlers should just extend MediaHandlerGeneric (i.e inherit from
* ) and just override the things that need to be specific. see MediaHandlerAudio
- *
- * @author mh
- * @version 24.09.2001
+ *
+ * @author , the Mir-coders group
+ * @version $Id: MirMedia.java,v 1.18.2.1 2003/09/03 17:49:38 zapata Exp $
*/
public interface MirMedia{
@@ -100,11 +96,9 @@ public interface MirMedia{
* @return boolean, success/fail
* @see mir.entity.Entity
*/
- public abstract void set (InputStream in, Entity ent,
- Entity mediaTypeEnt ) throws MirMediaException;
+ public abstract void set (InputStream in, Entity ent, Entity mediaTypeEnt ) throws MediaExc, MediaFailure;
- public abstract void produce (Entity ent, Entity mediaTypeEnt )
- throws MirMediaException;
+ public abstract void produce (Entity ent, Entity mediaTypeEnt ) throws MediaExc, MediaFailure;
/**
* Get's the media data from storage and returns it as an InputStream
@@ -116,8 +110,7 @@ public interface MirMedia{
* @return java.io.InputStream
* @see mir.entity.Entity
*/
- public abstract InputStream getMedia (Entity ent, Entity mediaTypeEnt)
- throws MirMediaException;
+ public abstract InputStream getMedia (Entity ent, Entity mediaTypeEnt) throws MediaExc, MediaFailure;
/**
* Pretty much like get() above. But get's the specific Icon
@@ -126,11 +119,21 @@ public interface MirMedia{
* @return java.io.InputStream
* @see mir.entity.Entity
*/
- public abstract InputStream getIcon (Entity ent) throws MirMediaException;
+ public abstract InputStream getIcon (Entity ent) throws MediaExc, MediaFailure;
+
+
+ /**
+ *
+ * @param ent
+ * @return
+ * @throws MediaExc
+ * @throws MediaFailure
+ */
+ public abstract String getIconMimeType (Entity aMediaEntity, Entity aMediaType) throws MediaExc, MediaFailure;
- /**
+ /**
* gets the final content representation for the media
- * in the form of a URL (String) that allows someone to
+ * in the form of a URL (String) that allows someone to
* download, look at or listen to the media. (HREF, img src
* streaming link, etc..)
* It should use the helper functions in the StringUtil class to
@@ -141,10 +144,9 @@ public interface MirMedia{
* @see mir.entity.Entity
* @see mir.misc.StringUtil
*/
- public abstract SimpleList getURL (Entity ent, Entity mediaTypeEnt)
- throws MirMediaException;
+ public abstract List getURL (Entity ent, Entity mediaTypeEnt) throws MediaExc, MediaFailure;
- /**
+ /**
* Returns the absolute filesystem path to where the media
* content should be stored. This path is usually defined
* in the configuration wich is accessible through the MirConfig
@@ -152,9 +154,9 @@ public interface MirMedia{
* @return String, the path.
* @see mir.misc.MirConfig
*/
- public abstract String getStoragePath () throws MirMediaException;
+ public abstract String getStoragePath () throws MediaExc, MediaFailure;
- /**
+ /**
* Returns the *relative* filesystem path to where the media
* icon content should be stored. It is relative to the path
* returned by getStoragePath()
@@ -164,9 +166,9 @@ public interface MirMedia{
* @return String, the path.
* @see mir.misc.MirConfig
*/
- public abstract String getIconStoragePath () throws MirMediaException;
+ public abstract String getIconStoragePath () throws MediaExc, MediaFailure;
- /**
+ /**
* Returns the base URL to that the media is accessible from
* to the end user. This could be a URL to another host.
* This is used in the Metadata stored in the DB and later on
@@ -177,9 +179,9 @@ public interface MirMedia{
* @return String, the base URL to the host.
* @see mir.misc.MirConfig
*/
- public abstract String getPublishHost () throws MirMediaException;
+ public abstract String getPublishHost () throws MediaExc, MediaFailure;
- /**
+ /**
* Returns the file name of the Icon representing the media type.
* It is used in the summary view.
* It is usually defined
@@ -189,9 +191,9 @@ public interface MirMedia{
* @see mir.misc.MirConfig
*/
public abstract String getBigIconName ();
-
- /**
- * Returns the file name of the small Icon representing
+
+ /**
+ * Returns the file name of the small Icon representing
* the media type.
* It is used in the right hand newswire list of the startpage.
* It is usually defined
@@ -202,26 +204,26 @@ public interface MirMedia{
*/
public abstract String getTinyIconName ();
- /**
+ /**
* Returns the IMG SRC "ALT" text to be used
* for the Icon representations
* @return String, the ALT text.
*/
public abstract String getIconAltName ();
- /**
+ /**
* your can all figure it out.
* @return boolean.
*/
public abstract boolean isVideo ();
- /**
+ /**
* you can all figure it out.
* @return boolean.
*/
public abstract boolean isAudio ();
- /**
+ /**
* you can all figure it out.
* @return boolean.
*/