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 }