1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.tiles.autotag.core;
22
23 import java.io.File;
24 import java.io.FileOutputStream;
25 import java.io.IOException;
26 import java.io.OutputStream;
27
28
29
30
31 public class DirectoryOutputLocator implements OutputLocator {
32
33 private File directory;
34 private long sourceLastModified;
35
36 public DirectoryOutputLocator(File directory) {
37 this.directory = directory;
38 this.sourceLastModified = System.currentTimeMillis();
39 }
40
41 public DirectoryOutputLocator(File directory, long sourceLastModified) {
42 this.directory = directory;
43 this.sourceLastModified = sourceLastModified;
44 }
45
46 @Override
47 public OutputStream getOutputStream(String resourcePath) throws IOException {
48 File file = new File(directory, resourcePath);
49 file.getParentFile().mkdirs();
50 return new FileOutputStream(file);
51 }
52
53 @Override
54 public boolean isUptodate(String resourcePath) {
55 File file = new File(directory, resourcePath);
56 return file.exists() && file.lastModified() > sourceLastModified;
57 }
58
59 }