package com.idega.block.media.business; import com.idega.block.media.data.MediaProperties; import com.idega.idegaweb.IWMainApplication; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.repository.data.RefactorClassRegistry; import com.idega.util.caching.Cache; /** * Title: com.idega.block.media.business.FileTypeHandler * Description: This is the FileTypeHandler interface it defines one static method get * Copyright: Copyright (c) 2001 * Company: idega software * @author Eirikur S. Hrafnsson eiki@idega.is * @version 1.0 */ public abstract class FileTypeHandler extends java.lang.Object { public abstract PresentationObject getPresentationObject(int icFileId, IWContext iwc); public abstract PresentationObject getPresentationObject(MediaProperties props, IWContext iwc); public static FileTypeHandler getInstance(IWMainApplication iwma, String handlerClass){ FileTypeHandler handler = (FileTypeHandler)iwma.getAttribute(handlerClass); if(handler==null){ try { handler = (FileTypeHandler) RefactorClassRegistry.forName(handlerClass).newInstance(); iwma.setAttribute(handlerClass,handler); } catch (Exception ex) { ex.printStackTrace(System.err); } } return handler; } public static FileTypeHandler getInstance(IWMainApplication iwma, Class handlerClass){ return getInstance(iwma,handlerClass.getName()); } public static Cache getCachedFileInfo(int icFileId, IWContext iwc){ return MediaBusiness.getCachedFileInfo(icFileId,iwc.getIWMainApplication()); } }