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, gpxParsedProperly
activeConnection, 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, setDoAuthenticate
addAuth, addBasicAuthorizationHeader, addOAuthAuthorizationHeader, cancel, isCanceled, obtainAccessToken, retrieveBasicAuthorizationLogin, setOAuthAccessTokenFetcher
private 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
OsmTransferException
protected DataSet getReferringWays(ProgressMonitor progressMonitor) throws OsmTransferException
DataSet
progressMonitor
- progress monitorOsmTransferException
- if any error occurs during dialog with OSM APIprotected DataSet getReferringRelations(ProgressMonitor progressMonitor) throws OsmTransferException
DataSet
progressMonitor
- 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
DataSet
parseOsm
in class OsmServerReader
progressMonitor
- the progress monitor. Set to NullProgressMonitor.INSTANCE
if null.OsmTransferException
- if an error occurs while communicating with the server