package com.rayo.core.recording; import java.io.File; import java.io.IOException; import java.net.URI; import com.voxeo.moho.Call; import com.voxeo.moho.Participant; import com.voxeo.moho.conference.Conference; public interface StorageService { /** * <p>This method receives a file and stores it somewhere else. * Finally it returns an URI to the resource that has been created.</p> * <p>Possible implementations of storage services are file systems, Web Services, * Amazon S3, etc.</p> * * @param file File that has the binary content that needs to be stored * @param participant The target of the record command. Commonly it should be either * an instance of {@link Call} or {@link Conference}. You can use this object to grab * useful information about the context of the recording. * * @return URI that can be used for accessing to the resource that has been created * * @throws IOException If there is any error while storing the file */ public URI store(File file, Participant participant) throws IOException; }