public class OsmServerBackreferenceReader extends OsmServerReader
Node, ways and relations are retrieved
which refer to the node. For a Way or a Relation, only relations are read.
OsmServerBackreferenceReader uses the API calls [node|way|relation]/#id/relations
and node/#id/ways to retrieve the referring primitives. The default behaviour
of these calls is to reply incomplete primitives only.
If you set setReadFull(boolean) to true this reader uses a MultiFetchServerObjectReader
to complete incomplete primitives.OsmServerReader.DomParser<R>OsmConnection.OAuthAccessTokenFetcher| Modifier and Type | Field and Description |
|---|---|
private boolean |
allowIncompleteParentWays
true if this reader should allow incomplete parent ways
|
private long |
id
the id of the primitive whose referrers are to be read
|
private OsmPrimitiveType |
primitiveType
the type of the primitive
|
private boolean |
readFull
true if this reader should complete incomplete primitives
|
contentType, gpxParsedProperlyactiveConnection, cancel, fetcher, oauthParameters| Constructor and Description |
|---|
OsmServerBackreferenceReader(long id,
OsmPrimitiveType type)
constructor
|
OsmServerBackreferenceReader(long id,
OsmPrimitiveType type,
boolean readFull)
Creates a back reference reader for given primitive id
|
OsmServerBackreferenceReader(OsmPrimitive primitive)
constructor
|
OsmServerBackreferenceReader(OsmPrimitive primitive,
boolean readFull)
Creates a back reference reader for given primitive
|
| Modifier and Type | Method and Description |
|---|---|
private DataSet |
getReferringPrimitives(ProgressMonitor progressMonitor,
java.lang.String type,
java.lang.String message) |
protected DataSet |
getReferringRelations(ProgressMonitor progressMonitor)
Reads referring relations from the API server and replies them in a
DataSet |
protected DataSet |
getReferringWays(ProgressMonitor progressMonitor)
Reads referring ways from the API server and replies them in a
DataSet |
boolean |
isAllowIncompleteParentWays()
Determines if this reader allows to return incomplete parent ways of a node.
|
boolean |
isReadFull()
Replies true if this reader also reads immediate children of referring primitives
|
DataSet |
parseOsm(ProgressMonitor progressMonitor)
Reads the referring primitives from the OSM server, parses them and
replies them as
DataSet |
protected DataSet |
readIncompletePrimitives(DataSet ds,
ProgressMonitor progressMonitor)
Scans a dataset for incomplete primitives.
|
OsmServerBackreferenceReader |
setAllowIncompleteParentWays(boolean allowIncompleteWays)
Sets whether this reader allows to return incomplete parent ways of a node.
|
OsmServerBackreferenceReader |
setReadFull(boolean readFull)
Set true if this reader should reads immediate children of referring primitives too.
|
adaptRequest, fetchData, getAttribute, getBaseUrl, getInputStream, getInputStream, getInputStreamRaw, getInputStreamRaw, getInputStreamRaw, getInputStreamRaw, isDoAuthenticate, isGpxParsedProperly, parseNotes, parseOsm, parseOsmChange, parseOsmChange, parseRawGps, parseRawGps, parseRawNotes, parseRawNotes, setDoAuthenticateaddAuth, addBasicAuthorizationHeader, addOAuthAuthorizationHeader, cancel, isCanceled, obtainAccessToken, retrieveBasicAuthorizationLogin, setOAuthAccessTokenFetcherprivate long id
private OsmPrimitiveType primitiveType
private boolean readFull
private boolean allowIncompleteParentWays
public OsmServerBackreferenceReader(OsmPrimitive primitive)
primitive - the primitive to be read. Must not be null. primitive.id > 0 expectedjava.lang.IllegalArgumentException - if primitive is nulljava.lang.IllegalArgumentException - if primitive.id <= 0public OsmServerBackreferenceReader(long id, OsmPrimitiveType type)
id - the id of the primitive. > 0 expectedtype - the type of the primitive. Must not be null.java.lang.IllegalArgumentException - if id <= 0java.lang.IllegalArgumentException - if type is nullpublic OsmServerBackreferenceReader(OsmPrimitive primitive, boolean readFull)
primitive - the primitivereadFull - true, if referers should be read fully (i.e. including their immediate children)public OsmServerBackreferenceReader(long id, OsmPrimitiveType type, boolean readFull)
id - the id of the primitive whose referers are to be readtype - the type of the primitivereadFull - true, if referers should be read fully (i.e. including their immediate children)java.lang.IllegalArgumentException - if id <= 0java.lang.IllegalArgumentException - if type is nullpublic boolean isReadFull()
public OsmServerBackreferenceReader setReadFull(boolean readFull)
readFull - true if this reader should reads immediate children of referring primitives too. False, otherwise.this, for easy chainingpublic boolean isAllowIncompleteParentWays()
true if this reader allows to return incomplete parent ways of a nodepublic OsmServerBackreferenceReader setAllowIncompleteParentWays(boolean allowIncompleteWays)
allowIncompleteWays - true if this reader allows to return incomplete parent ways of a nodethis, for easy chainingprivate DataSet getReferringPrimitives(ProgressMonitor progressMonitor, java.lang.String type, java.lang.String message) throws OsmTransferException
OsmTransferExceptionprotected DataSet getReferringWays(ProgressMonitor progressMonitor) throws OsmTransferException
DataSetprogressMonitor - progress monitorOsmTransferException - if any error occurs during dialog with OSM APIprotected DataSet getReferringRelations(ProgressMonitor progressMonitor) throws OsmTransferException
DataSetprogressMonitor - the progress monitorOsmTransferException - if any error occurs during dialog with OSM APIprotected DataSet readIncompletePrimitives(DataSet ds, ProgressMonitor progressMonitor) throws OsmTransferException
/api/0.6/[way,relation]/#id/full
request.
Node, referring ways are always
read fully, unless setAllowIncompleteParentWays(boolean) is set to true.Way or a Relation, referring relations
are only read fully if setReadFull(boolean) is set to true.ds - the original datasetprogressMonitor - the progress monitorOsmTransferException - if an exception occurs.public DataSet parseOsm(ProgressMonitor progressMonitor) throws OsmTransferException
DataSetparseOsm in class OsmServerReaderprogressMonitor - the progress monitor. Set to NullProgressMonitor.INSTANCE if null.OsmTransferException - if an error occurs while communicating with the server