blob: be56ded8ce4b83f0e4c162a47c6f7f3059320722 (
plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
package de.fhswf.fbin.java2fx.entities;
import java.io.File;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.LongProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleLongProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
public class FXFile
{
private static String separator = System.getProperty("file.separator");
private File file;
public FXFile(File file)
{
this.file = file;
setName(this.toString());
setLastModified(LocalDateTime.ofEpochSecond(file.lastModified()/1000, 0, ZoneOffset.UTC));
setLength(file.length());
setHidden(file.isHidden());
}
public File getFile() {
return this.file;
}
private StringProperty name;
public void setName(String value)
{
nameProperty().set(value);
}
public String getName()
{
return nameProperty().get();
}
public StringProperty nameProperty()
{
if (name == null)
name = new SimpleStringProperty(this, "name");
return name;
}
private ObjectProperty<LocalDateTime> lastModified;
public void setLastModified(LocalDateTime value)
{
lastModifiedProperty().set(value);
}
public LocalDateTime getLastModified()
{
return lastModifiedProperty().get();
}
public ObjectProperty<LocalDateTime> lastModifiedProperty()
{
if (lastModified == null)
lastModified = new SimpleObjectProperty<LocalDateTime>(this, "lastModified");
return lastModified;
}
private LongProperty length;
public LongProperty lengthProperty()
{
if (length == null)
length = new SimpleLongProperty(this, "length");
return length;
}
public long getLength()
{
return lengthProperty().get();
}
public void setLength(long length)
{
lengthProperty().set(length);
}
private BooleanProperty hidden;
public BooleanProperty hiddenProperty()
{
if (hidden == null)
hidden = new SimpleBooleanProperty(this, "hidden");
return this.hidden;
}
public boolean isHidden()
{
return hiddenProperty().get();
}
public void setHidden(boolean hidden)
{
hiddenProperty().set(hidden);
}
@Override
public String toString()
{
String name = file.getName();
if (!name.isEmpty()) {
int index = name.lastIndexOf(separator);
if (index != -1)
name = name.substring(index);
}
else {
name = file.getAbsolutePath();
}
return name;
}
}
|