org.openstreetmap.josm.actions.downloadtasks
Class DownloadGpsTask
java.lang.Object
org.openstreetmap.josm.actions.downloadtasks.AbstractDownloadTask
org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask
- All Implemented Interfaces:
- DownloadTask
public class DownloadGpsTask
- extends AbstractDownloadTask
Method Summary |
boolean |
acceptsUrl(java.lang.String url)
Returns true if the task is able to open the given URL, false otherwise. |
void |
cancel()
Cancels the asynchronous download task. |
java.util.concurrent.Future<?> |
download(boolean newLayer,
Bounds downloadArea,
ProgressMonitor progressMonitor)
Asynchronously launches the download task for a given bounding box. |
java.util.concurrent.Future<?> |
loadUrl(boolean newLayer,
java.lang.String url,
ProgressMonitor progressMonitor)
Asynchronously launches the download task for a given bounding URL. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
downloadTask
private DownloadGpsTask.DownloadTask downloadTask
PATTERN_TRACE_ID
private static final java.lang.String PATTERN_TRACE_ID
- See Also:
- Constant Field Values
PATTERN_TRACKPOINTS_BBOX
private static final java.lang.String PATTERN_TRACKPOINTS_BBOX
- See Also:
- Constant Field Values
PATTERN_EXTERNAL_GPX_SCRIPT
private static final java.lang.String PATTERN_EXTERNAL_GPX_SCRIPT
- See Also:
- Constant Field Values
PATTERN_EXTERNAL_GPX_FILE
private static final java.lang.String PATTERN_EXTERNAL_GPX_FILE
- See Also:
- Constant Field Values
newLayerName
protected java.lang.String newLayerName
DownloadGpsTask
public DownloadGpsTask()
download
public java.util.concurrent.Future<?> download(boolean newLayer,
Bounds downloadArea,
ProgressMonitor progressMonitor)
- Description copied from interface:
DownloadTask
- Asynchronously launches the download task for a given bounding box.
Set
progressMonitor
to null, if the task should create, open, and close a progress monitor.
Set progressMonitor to NullProgressMonitor.INSTANCE
if progress information is to
be discarded.
You can wait for the asynchronous download task to finish by synchronizing on the returned
Future
, but make sure not to freeze up JOSM. Example:
Future> future = task.download(...);
// DON'T run this on the Swing EDT or JOSM will freeze
future.get(); // waits for the dowload task to complete
The following example uses a pattern which is better suited if a task is launched from
the Swing EDT:
final Future> future = task.download(...);
Runnable runAfterTask = new Runnable() {
public void run() {
// this is not strictly necessary because of the type of executor service
// Main.worker is initialized with, but it doesn't harm either
//
future.get(); // wait for the download task to complete
doSomethingAfterTheTaskCompleted();
}
}
Main.worker.submit(runAfterTask);
- Parameters:
newLayer
- true, if the data is to be downloaded into a new layer. If false, the task
selects one of the existing layers as download layer, preferably the active layer.downloadArea
- the area to downloadprogressMonitor
- the progressMonitor
- Returns:
- the future representing the asynchronous task
loadUrl
public java.util.concurrent.Future<?> loadUrl(boolean newLayer,
java.lang.String url,
ProgressMonitor progressMonitor)
- Description copied from interface:
DownloadTask
- Asynchronously launches the download task for a given bounding URL.
Set progressMonitor to null, if the task should create, open, and close a progress monitor.
Set progressMonitor to
NullProgressMonitor.INSTANCE
if progress information is to
be discarded.
- Parameters:
newLayer
- newLayer true, if the data is to be downloaded into a new layer. If false, the task
selects one of the existing layers as download layer, preferably the active layer.url
- the url to download fromprogressMonitor
- the progressMonitor
- Returns:
- the future representing the asynchronous task
- See Also:
DownloadTask.download(boolean, Bounds, ProgressMonitor)
acceptsUrl
public boolean acceptsUrl(java.lang.String url)
- Description copied from interface:
DownloadTask
- Returns true if the task is able to open the given URL, false otherwise.
- Parameters:
url
- the url to download from
- Returns:
- True if the task is able to open the given URL, false otherwise.
cancel
public void cancel()
- Description copied from interface:
DownloadTask
- Cancels the asynchronous download task.
JOSM