View Javadoc

1   package fr.in2p3.jsaga.impl.file;
2   
3   import fr.in2p3.jsaga.engine.factories.DataAdaptorFactory;
4   import fr.in2p3.jsaga.impl.task.AbstractThreadedTask;
5   import org.ogf.saga.error.*;
6   import org.ogf.saga.file.*;
7   import org.ogf.saga.session.Session;
8   import org.ogf.saga.task.Task;
9   import org.ogf.saga.task.TaskMode;
10  import org.ogf.saga.url.URL;
11  
12  /* ***************************************************
13   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
14   * ***             http://cc.in2p3.fr/             ***
15   * ***************************************************
16   * File:   AbstractAsyncFileFactoryImpl
17   * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
18   * Date:   29 mai 2009
19   * ***************************************************
20   * Description:                                      */
21  /**
22   *
23   */
24  public abstract class AbstractAsyncFileFactoryImpl extends AbstractSyncFileFactoryImpl {
25      public AbstractAsyncFileFactoryImpl(DataAdaptorFactory adaptorFactory) {
26          super(adaptorFactory);
27      }
28  
29      protected Task<FileFactory, File> doCreateFile(TaskMode mode, final Session session, final URL name, final int flags) throws NotImplementedException {
30          return new AbstractThreadedTask<FileFactory,File>(mode) {
31              public File invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
32                  return AbstractAsyncFileFactoryImpl.super.doCreateFileSync(session, name, flags);
33              }
34          };
35      }
36  
37      protected Task<FileFactory, FileInputStream> doCreateFileInputStream(TaskMode mode, final Session session, final URL name) throws NotImplementedException {
38          return new AbstractThreadedTask<FileFactory,FileInputStream>(mode) {
39              public FileInputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
40                  return AbstractAsyncFileFactoryImpl.super.doCreateFileInputStreamSync(session, name);
41              }
42          };
43      }
44  
45      protected Task<FileFactory, FileOutputStream> doCreateFileOutputStream(TaskMode mode, final Session session, final URL name, final boolean append) throws NotImplementedException {
46          return new AbstractThreadedTask<FileFactory,FileOutputStream>(mode) {
47              public FileOutputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
48                  return AbstractAsyncFileFactoryImpl.super.doCreateFileOutputStreamSync(session, name, append);
49              }
50          };
51      }
52  
53      protected Task<FileFactory, Directory> doCreateDirectory(TaskMode mode, final Session session, final URL name, final int flags) throws NotImplementedException {
54          return new AbstractThreadedTask<FileFactory,Directory>(mode) {
55              public Directory invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
56                  return AbstractAsyncFileFactoryImpl.super.doCreateDirectorySync(session, name, flags);
57              }
58          };
59      }
60  }