package org.tynamo.blob; import org.apache.tapestry5.Link; import org.apache.tapestry5.upload.services.UploadedFile; import org.tynamo.descriptor.TynamoPropertyDescriptor; /** * An interface to the persistence mechanism that allows to plug in different strategies for persisting binary files. */ public interface BlobManager { Link createBlobLink(TynamoPropertyDescriptor propertyDescriptor, Object model); void store(TynamoPropertyDescriptor propertyDescriptor, Object model, UploadedFile file); public byte[] getData(TynamoPropertyDescriptor propertyDescriptor, Object model); String getContentType(TynamoPropertyDescriptor propertyDescriptor, Object model); String getFileName(TynamoPropertyDescriptor propertyDescriptor, Object model); void delete(TynamoPropertyDescriptor propertyDescriptor, Object model); boolean isNotNull(TynamoPropertyDescriptor propertyDescriptor, Object model); }