File: AbstractFileScanner.java

package info (click to toggle)
gpsprune 26.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,824 kB
  • sloc: java: 52,154; sh: 25; makefile: 21; python: 15
file content (36 lines) | stat: -rw-r--r-- 958 bytes parent folder | download | duplicates (4)
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
package tim.prune.function.filesleuth;

import java.io.File;
import java.util.TimeZone;

import tim.prune.function.filesleuth.data.TrackContents;
import tim.prune.function.filesleuth.data.TrackFile;

/** Responsible for taking a file, reading it and summarising the contents */
public abstract class AbstractFileScanner
{
	private final TrackFile _trackFile;
	private final WorkerCoordinator _parent;
	protected final TimeZone _timezone;

	public AbstractFileScanner(TrackFile inFile, WorkerCoordinator inCoordinator, TimeZone inTimezone)
	{
		_trackFile = inFile;
		_parent = inCoordinator;
		_timezone = inTimezone;
	}

	protected File getFile() {
		return _trackFile == null ? null : _trackFile.getFile();
	}

	public void startScan() {
		new Thread(this::run).start();
	}

	protected abstract void run();

	protected void finished(TrackContents inContents) {
		_parent.informWorkComplete(_trackFile, inContents);
	}
}