View Javadoc

1   package com.atlassian.plugin.cache.filecache.impl;
2   
3   import java.io.*;
4   
5   public class ThrowingFileOpener implements CachedFile.FileOpener {
6       private transient RuntimeException onCloseRuntime;
7   
8       @Override
9       public OutputStream open(File file) throws IOException {
10          return new FileOutputStream(file) {
11              @Override
12              public void close() throws IOException {
13                  if (onCloseRuntime != null) {
14                      throw onCloseRuntime;
15                  }
16                  super.close();
17              }
18          };
19      }
20  
21      public void setOnClose(RuntimeException onClose) {
22          this.onCloseRuntime = onClose;
23      }
24  }