API Overview API Index Package Overview Direct link to this page
JavaOnTracks 0.1.2
  net.jot.web.filebrowser. JOTFileComparators View Javadoc
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

/*
------------------------------------
JavaOnTracks          Thibaut Colar
tcolar-jot AT colar DOT net
Artistic Licence 2.0
http://www.javaontracks.net
------------------------------------
 */
package net.jot.web.filebrowser;

import java.io.File;
import java.util.Comparator;

/**
 * Static comparators objects used to order file listings.
 * Used by JotFileBrowser
 * @author thibautc
 *
 */
public class JOTFileComparators {
	public static final Comparator NAME_ASC_COMPARATOR = new JOTFileNameAscComparator();
	public static final Comparator NAME_DESC_COMPARATOR = new JOTFileNameDescComparator();
	public static final Comparator SIZE_ASC_COMPARATOR = new JOTFileSizeAscComparator();
	public static final Comparator SIZE_DESC_COMPARATOR = new JOTFileSizeDescComparator();
	public static final Comparator TSTAMP_ASC_COMPARATOR = new JOTFileTimestampAscComparator();
	public static final Comparator TSTAMP_DESC_COMPARATOR = new JOTFileTimestampDescComparator();
	
        /** Compares by file Name alphabetical*/
	static class JOTFileNameAscComparator implements Comparator
	{
		public int compare(Object arg0, Object arg1)
		{
			File f1=(File)arg0;
			File f2=(File)arg1;
			return f1.getName().toLowerCase().compareTo(f2.getName().toLowerCase());
		}
	}
        /** Compares by file Name reversed alphabetical*/
	static class JOTFileNameDescComparator implements Comparator
	{
		public int compare(Object arg0, Object arg1)
		{
			return NAME_ASC_COMPARATOR.compare(arg1, arg0);
		}
	}
        /** Compares by file size small to large*/
	static class JOTFileSizeAscComparator implements Comparator
	{
		public  int compare(Object arg0, Object arg1)
		{
			File f1=(File)arg0;
			File f2=(File)arg1;
			long l1=f1.isDirectory()?0:f1.length();
			long l2=f2.isDirectory()?0:f2.length();
			if(l1==l2) return 0;
				else
			return l1>l2?1:-1;
		}
	}
        /** Compares by file size large to small*/
	static class JOTFileSizeDescComparator implements Comparator
	{
		public int compare(Object arg0, Object arg1)
		{
			return SIZE_ASC_COMPARATOR.compare(arg1,arg0);
		}
	}
        /** Compares by file timestamp(last change) oldest to newest*/
	static class JOTFileTimestampAscComparator implements Comparator
	{
		public  int compare(Object arg0, Object arg1)
		{
			File f1=(File)arg0;
			File f2=(File)arg1;
			if(f1.lastModified()==f2.lastModified()) return 0;
				else
			return f1.lastModified()>f2.lastModified()?1:-1;
		}
	}
        /** Compares by file timestamp(last change) newest to oldest*/
	static class JOTFileTimestampDescComparator implements Comparator
	{
		public int compare(Object arg0, Object arg1)
		{
			return TSTAMP_ASC_COMPARATOR.compare(arg1,arg0);
		}
	}
}

Generated By: JavaOnTracks Doclet 0.1.5     ©Thibaut Colar