001 package org.tynamo.blob;
002
003 import org.apache.tapestry5.Link;
004 import org.apache.tapestry5.upload.services.UploadedFile;
005 import org.tynamo.descriptor.TynamoPropertyDescriptor;
006
007
008 /**
009 * An interface to the persistence mechanism that allows to plug in different strategies for persisting binary files.
010 */
011 public interface BlobManager
012 {
013 Link createBlobLink(TynamoPropertyDescriptor propertyDescriptor, Object model);
014
015 void store(TynamoPropertyDescriptor propertyDescriptor, Object model, UploadedFile file);
016
017 public byte[] getData(TynamoPropertyDescriptor propertyDescriptor, Object model);
018
019 String getContentType(TynamoPropertyDescriptor propertyDescriptor, Object model);
020
021 String getFileName(TynamoPropertyDescriptor propertyDescriptor, Object model);
022
023 void delete(TynamoPropertyDescriptor propertyDescriptor, Object model);
024
025 boolean isNotNull(TynamoPropertyDescriptor propertyDescriptor, Object model);
026 }