org.eclipse.ohf.stem.definitions.adapters.spatial.geo
Interface LatLongDataProvider

All Known Implementing Classes:
InlineLatLongDataProvider, PlatformLatLongDataProvider

public interface LatLongDataProvider

This interface is extended by classes that can interpret a "data uri" as contained in a "stemspatial" URI and return latitude and longitude data from the source specified by the URI. The LatLongProviderAdapter maintains a static singleton collection of classes that implement this interface. The collection is indexed by the scheme of the URI they handle. It uses this collection to find the appropriate instance for the URI's it encounters that need to be processed. That processing is delegated to classes that extend this interface.

Thus, if you extend this interface you should also register an instance of your class with the method LatLongProviderAdapter.registerLatLongDataProvider(String, LatLongDataProvider).

See Also:
LatLongProviderAdapter

Method Summary
 LatLong getLatLong(org.eclipse.emf.common.util.URI dataURI)
           
 LatLong getLatLongNoWait(org.eclipse.emf.common.util.URI dataURI)
          This method is just like getLatLong(URI) except that it will immediately return with an empty LatLong instance if the data identified by the URI has not been retrieved.
 

Method Detail

getLatLong

LatLong getLatLong(org.eclipse.emf.common.util.URI dataURI)
Parameters:
dataURI - the data URI to be processed by this provider
Returns:
a list of arrays of latitude/longitude pairs.

getLatLongNoWait

LatLong getLatLongNoWait(org.eclipse.emf.common.util.URI dataURI)
This method is just like getLatLong(URI) except that it will immediately return with an empty LatLong instance if the data identified by the URI has not been retrieved. As a side effect, it will create a seperate Job (i.e., Thread) to retrieve the data. If that Job completes successfully, a future call will return the appropriate data.

Parameters:
dataURI - the data URI to be processed by this provider
Returns:
an instance of latitude/longitude data.