View Javadoc

1   package fr.in2p3.jsaga.impl.file;
2   
3   import fr.in2p3.jsaga.adaptor.data.DataAdaptor;
4   import fr.in2p3.jsaga.impl.namespace.AbstractNSDirectoryImpl;
5   import fr.in2p3.jsaga.impl.namespace.AbstractNSEntryImpl;
6   import fr.in2p3.jsaga.impl.task.AbstractThreadedTask;
7   import org.ogf.saga.error.*;
8   import org.ogf.saga.file.*;
9   import org.ogf.saga.session.Session;
10  import org.ogf.saga.task.Task;
11  import org.ogf.saga.task.TaskMode;
12  import org.ogf.saga.url.URL;
13  
14  /* ***************************************************
15  * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
16  * ***             http://cc.in2p3.fr/             ***
17  * ***************************************************
18  * File:   AbstractAsyncDirectoryImpl
19  * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
20  * Date:   18 sept. 2007
21  * ***************************************************
22  * Description:                                      */
23  /**
24   *
25   */
26  public abstract class AbstractAsyncDirectoryImpl extends AbstractSyncDirectoryImpl implements Directory {
27      /** constructor for factory */
28      protected AbstractAsyncDirectoryImpl(Session session, URL url, DataAdaptor adaptor, int flags) throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
29          super(session, url, adaptor, flags);
30      }
31  
32      /** constructor for NSDirectory.open() */
33      protected AbstractAsyncDirectoryImpl(AbstractNSDirectoryImpl dir, URL relativeUrl, int flags) throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
34          super(dir, relativeUrl, flags);
35      }
36  
37      /** constructor for NSEntry.openAbsolute() */
38      protected AbstractAsyncDirectoryImpl(AbstractNSEntryImpl entry, String absolutePath, int flags) throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
39          super(entry, absolutePath, flags);
40      }
41  
42      ////////////////////////////////////////// interface Directory //////////////////////////////////////////
43  
44      // <extra specs>
45      public Task<Directory, Long> getSize(TaskMode mode) throws NotImplementedException {
46          return new AbstractThreadedTask<Directory,Long>(mode) {
47              public Long invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, TimeoutException, NoSuccessException {
48                  return AbstractAsyncDirectoryImpl.super.getSizeSync();
49              }
50          };
51      }
52      public Task<Directory, Long> getSize(TaskMode mode, final int flags) throws NotImplementedException {
53          return new AbstractThreadedTask<Directory,Long>(mode) {
54              public Long invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, TimeoutException, NoSuccessException {
55                  return AbstractAsyncDirectoryImpl.super.getSizeSync(flags);
56              }
57          };
58      }
59      // </extra specs>
60  
61      public Task<Directory, Long> getSize(TaskMode mode, final URL name, final int flags) throws NotImplementedException {
62          return new AbstractThreadedTask<Directory,Long>(mode) {
63              public Long invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
64                  return AbstractAsyncDirectoryImpl.super.getSizeSync(name, flags);
65              }
66          };
67      }
68      public Task<Directory, Long> getSize(TaskMode mode, final URL name) throws NotImplementedException {
69          return new AbstractThreadedTask<Directory,Long>(mode) {
70              public Long invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
71                  return AbstractAsyncDirectoryImpl.super.getSizeSync(name);
72              }
73          };
74      }
75  
76      public Task<Directory, Boolean> isFile(TaskMode mode, final URL name) throws NotImplementedException {
77          return new AbstractThreadedTask<Directory,Boolean>(mode) {
78              public Boolean invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
79                  return AbstractAsyncDirectoryImpl.super.isFileSync(name);
80              }
81          };
82      }
83  
84      public Task<Directory, Directory> openDirectory(TaskMode mode, final URL name, final int flags) throws NotImplementedException {
85          return new AbstractThreadedTask<Directory,Directory>(mode) {
86              public Directory invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
87                  return AbstractAsyncDirectoryImpl.super.openDirectory(name, flags);
88              }
89          };
90      }
91      public Task<Directory, Directory> openDirectory(TaskMode mode, final URL name) throws NotImplementedException {
92          return new AbstractThreadedTask<Directory,Directory>(mode) {
93              public Directory invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
94                  return AbstractAsyncDirectoryImpl.super.openDirectory(name);
95              }
96          };
97      }
98  
99      public Task<Directory, File> openFile(TaskMode mode, final URL name, final int flags) throws NotImplementedException {
100         return new AbstractThreadedTask<Directory,File>(mode) {
101             public File invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
102                 return AbstractAsyncDirectoryImpl.super.openFile(name, flags);
103             }
104         };
105     }
106     public Task<Directory, File> openFile(TaskMode mode, final URL name) throws NotImplementedException {
107         return new AbstractThreadedTask<Directory,File>(mode) {
108             public File invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
109                 return AbstractAsyncDirectoryImpl.super.openFile(name);
110             }
111         };
112     }
113 
114     public Task<Directory, FileInputStream> openFileInputStream(TaskMode mode, final URL name) throws NotImplementedException {
115         return new AbstractThreadedTask<Directory,FileInputStream>(mode) {
116             public FileInputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
117                 return AbstractAsyncDirectoryImpl.super.openFileInputStreamSync(name);
118             }
119         };
120     }
121 
122     public Task<Directory, FileOutputStream> openFileOutputStream(TaskMode mode, final URL name, final boolean append) throws NotImplementedException {
123         return new AbstractThreadedTask<Directory,FileOutputStream>(mode) {
124             public FileOutputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
125                 return AbstractAsyncDirectoryImpl.super.openFileOutputStreamSync(name, append);
126             }
127         };
128     }
129     public Task<Directory, FileOutputStream> openFileOutputStream(TaskMode mode, final URL name) throws NotImplementedException {
130         return new AbstractThreadedTask<Directory,FileOutputStream>(mode) {
131             public FileOutputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
132                 return AbstractAsyncDirectoryImpl.super.openFileOutputStreamSync(name);
133             }
134         };
135     }
136 }