1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider;
18
19 import org.apache.commons.vfs2.FileSystemOptions;
20
21
22
23
24 class FileSystemKey implements Comparable<FileSystemKey> {
25
26 private static final FileSystemOptionstml#FileSystemOptions">FileSystemOptions EMPTY_OPTIONS = new FileSystemOptions();
27
28 private final Comparable<?> key;
29
30
31 private final FileSystemOptions fileSystemOptions;
32
33
34
35
36
37
38
39 FileSystemKey(final Comparable<?> key, final FileSystemOptions fileSystemOptions) {
40 this.key = key;
41 this.fileSystemOptions = fileSystemOptions != null ? fileSystemOptions : EMPTY_OPTIONS;
42 }
43
44 @Override
45 public int compareTo(final FileSystemKey o) {
46 @SuppressWarnings("unchecked")
47 final Comparable<Comparable<?>> comparable = (Comparable<Comparable<?>>) key;
48 final int ret = comparable.compareTo(o.key);
49 if (ret != 0) {
50
51 return ret;
52 }
53
54 return fileSystemOptions.compareTo(o.fileSystemOptions);
55 }
56
57 @Override
58 public String toString() {
59 return super.toString() + " [key=" + key + ", fileSystemOptions=" + fileSystemOptions + "]";
60 }
61 }