001 package org.trails.component.blob;
002
003 import org.apache.tapestry.IAsset;
004 import org.apache.tapestry.request.IUploadFile;
005 import org.trails.descriptor.IClassDescriptor;
006 import org.trails.descriptor.IPropertyDescriptor;
007
008 /**
009 * An interface to the persistence mechanism that allows to plug in different strategies for persisting binary files.
010 */
011 public interface IFilePersister
012 {
013 IAsset getAsset(IPropertyDescriptor propertyDescriptor, Object model);
014
015 void store(IPropertyDescriptor propertyDescriptor, Object model, IUploadFile file);
016
017 public byte[] getData(IPropertyDescriptor propertyDescriptor, Object model);
018
019 String getContentType(IPropertyDescriptor propertyDescriptor, Object model);
020
021 String getFileName(IPropertyDescriptor propertyDescriptor, Object model);
022
023 void delete(IPropertyDescriptor propertyDescriptor, Object model);
024 }