1
18
19 package io.undertow.server.handlers.resource;
20
21 import io.undertow.UndertowMessages;
22
23 import java.io.File;
24
25
28 public class FileResourceManager extends PathResourceManager {
29
30 public FileResourceManager(final File base) {
31 this(base, 1024, true, false, null);
32 }
33 public FileResourceManager(final File base, long transferMinSize) {
34 this(base, transferMinSize, true, false, null);
35 }
36
37 public FileResourceManager(final File base, long transferMinSize, boolean caseSensitive) {
38 this(base, transferMinSize, caseSensitive, false, null);
39 }
40
41 public FileResourceManager(final File base, long transferMinSize, boolean followLinks, final String... safePaths) {
42 this(base, transferMinSize, true, followLinks, safePaths);
43 }
44
45 protected FileResourceManager(long transferMinSize, boolean caseSensitive, boolean followLinks, final String... safePaths) {
46 super(transferMinSize, caseSensitive, followLinks, safePaths);
47 }
48
49 public FileResourceManager(final File base, long transferMinSize, boolean caseSensitive, boolean followLinks, final String... safePaths) {
50 super(base.toPath(), transferMinSize, caseSensitive, followLinks, safePaths);
51 }
52
53 public File getBase() {
54 return new File(base);
55 }
56
57 public FileResourceManager setBase(final File base) {
58 if (base == null) {
59 throw UndertowMessages.MESSAGES.argumentCannotBeNull("base");
60 }
61 String basePath = base.getAbsolutePath();
62 if (!basePath.endsWith("/")) {
63 basePath = basePath + '/';
64 }
65 this.base = basePath;
66 return this;
67 }
68 }
69