-
Notifications
You must be signed in to change notification settings - Fork 863
Expand file tree
/
Copy pathFile.java
More file actions
31 lines (24 loc) · 995 Bytes
/
File.java
File metadata and controls
31 lines (24 loc) · 995 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.github.javafaker;
import java.util.Locale;
public class File {
private final Faker faker;
protected File(Faker faker) {
this.faker = faker;
}
public String extension() {
return faker.resolve("file.extension");
}
public String mimeType() {
return faker.resolve("file.mime_type");
}
public String fileName() {
return fileName(null, null, null, null);
}
public String fileName(String dirOrNull, String nameOrNull, String extensionOrNull, String separatorOrNull) {
final String sep = separatorOrNull == null ? System.getProperty("file.separator") : separatorOrNull;
final String dir = dirOrNull == null ? faker.internet().slug() : dirOrNull;
final String name = nameOrNull == null ? faker.lorem().word().toLowerCase(Locale.ROOT) : nameOrNull;
final String ext = extensionOrNull == null ? extension() : extensionOrNull;
return dir + sep + name + "." + ext;
}
}