public abstract class AbstractReader extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static interface |
AbstractReader.CommonReader |
protected static interface |
AbstractReader.NodeReader |
protected static interface |
AbstractReader.ParserWorker |
protected static interface |
AbstractReader.RelationReader |
protected static interface |
AbstractReader.WayReader |
Modifier and Type | Field and Description |
---|---|
protected boolean |
cancel |
protected DataSet |
ds
The dataset to add parsed objects to.
|
protected java.util.Map<PrimitiveId,OsmPrimitive> |
externalIdMap
the map from external ids to read OsmPrimitives.
|
private static java.util.List<OsmServerReadPostprocessor> |
postprocessors
Used by plugins to register themselves as data postprocessors.
|
protected java.util.Map<java.lang.Long,java.util.Collection<RelationMemberData>> |
relations
Data structure for relation objects
|
protected Changeset |
uploadChangeset |
protected java.util.Map<java.lang.Long,java.util.Collection<java.lang.Long>> |
ways
Data structure for the remaining way objects
|
Constructor and Description |
---|
AbstractReader() |
Modifier and Type | Method and Description |
---|---|
private Node |
addNode(NodeData nd,
AbstractReader.NodeReader nodeReader) |
private static boolean |
areLatLonDefined(double lat,
double lon) |
private static boolean |
areLatLonDefined(java.lang.String lat,
java.lang.String lon) |
protected OsmPrimitive |
buildPrimitive(PrimitiveData pd) |
protected void |
callPostProcessors(ProgressMonitor progressMonitor)
Iterate over registered postprocessors and give them each a chance to modify the dataset we have just loaded.
|
private static User |
createUser(java.lang.String uid,
java.lang.String name) |
static void |
deregisterPostprocessor(OsmServerReadPostprocessor pp)
Deregister a postprocessor previously registered with
registerPostprocessor(org.openstreetmap.josm.io.OsmServerReadPostprocessor) . |
protected abstract DataSet |
doParseDataSet(java.io.InputStream source,
ProgressMonitor progressMonitor) |
protected DataSet |
doParseDataSet(java.io.InputStream source,
ProgressMonitor progressMonitor,
AbstractReader.ParserWorker parserWorker) |
DataSet |
getDataSet()
Replies the parsed data set
|
protected long |
getLong(java.lang.String name,
java.lang.String value) |
private static void |
handleIllegalChangeset(PrimitiveData current,
java.lang.IllegalArgumentException e,
java.lang.Object v) |
protected void |
parseAction(PrimitiveData current,
java.lang.String action) |
protected void |
parseBounds(java.lang.String generator,
java.lang.String minlon,
java.lang.String minlat,
java.lang.String maxlon,
java.lang.String maxlat,
java.lang.String origin) |
protected void |
parseChangeset(PrimitiveData current,
int v) |
protected void |
parseChangeset(PrimitiveData current,
java.lang.String v) |
protected void |
parseDownloadPolicy(java.lang.String key,
java.lang.String downloadPolicy) |
protected void |
parseId(PrimitiveData current,
long id) |
protected void |
parseLocked(java.lang.String locked) |
protected Node |
parseNode(double lat,
double lon,
AbstractReader.CommonReader commonReader,
AbstractReader.NodeReader nodeReader) |
protected Node |
parseNode(java.lang.String lat,
java.lang.String lon,
AbstractReader.CommonReader commonReader,
AbstractReader.NodeReader nodeReader) |
private static void |
parsePolicy(java.lang.String key,
java.lang.String policy,
java.util.function.Consumer<java.lang.String> consumer) |
protected Relation |
parseRelation(AbstractReader.CommonReader commonReader,
AbstractReader.RelationReader relationReader) |
protected RelationMemberData |
parseRelationMember(Relation r,
long id,
java.lang.String type,
java.lang.String role) |
protected RelationMemberData |
parseRelationMember(Relation r,
java.lang.String ref,
java.lang.String type,
java.lang.String role) |
protected void |
parseTag(Tagged t,
java.lang.String key,
java.lang.String value) |
protected void |
parseTimestamp(PrimitiveData current,
java.lang.String time) |
protected void |
parseUploadPolicy(java.lang.String key,
java.lang.String uploadPolicy) |
protected void |
parseUser(PrimitiveData current,
java.lang.String user,
long uid) |
protected void |
parseUser(PrimitiveData current,
java.lang.String user,
java.lang.String uid) |
protected void |
parseVersion(PrimitiveData current,
int version) |
protected void |
parseVersion(PrimitiveData current,
java.lang.String versionString) |
protected void |
parseVersion(java.lang.String version) |
protected void |
parseVisible(PrimitiveData current,
java.lang.String visible) |
protected Way |
parseWay(AbstractReader.CommonReader commonReader,
AbstractReader.WayReader wayReader) |
protected void |
prepareDataSet() |
protected void |
processChangesetAfterParsing() |
protected void |
processNodesAfterParsing()
Processes the parsed nodes after parsing.
|
protected void |
processRelationsAfterParsing()
Completes the parsed relations with its members.
|
protected void |
processWaysAfterParsing()
Processes the ways after parsing.
|
static void |
registerPostprocessor(OsmServerReadPostprocessor pp)
Register a new postprocessor.
|
private static void |
validateVersion(java.lang.String version) |
private static volatile java.util.List<OsmServerReadPostprocessor> postprocessors
protected boolean cancel
protected Changeset uploadChangeset
protected final java.util.Map<PrimitiveId,OsmPrimitive> externalIdMap
protected final java.util.Map<java.lang.Long,java.util.Collection<java.lang.Long>> ways
protected final java.util.Map<java.lang.Long,java.util.Collection<RelationMemberData>> relations
public AbstractReader()
public static void registerPostprocessor(OsmServerReadPostprocessor pp)
pp
- postprocessorderegisterPostprocessor(org.openstreetmap.josm.io.OsmServerReadPostprocessor)
public static void deregisterPostprocessor(OsmServerReadPostprocessor pp)
registerPostprocessor(org.openstreetmap.josm.io.OsmServerReadPostprocessor)
.pp
- postprocessorregisterPostprocessor(org.openstreetmap.josm.io.OsmServerReadPostprocessor)
public DataSet getDataSet()
protected void callPostProcessors(ProgressMonitor progressMonitor)
progressMonitor
- Progress monitorprotected void processNodesAfterParsing()
protected void processWaysAfterParsing() throws IllegalDataException
IllegalDataException
- if a data integrity problem is detectedprotected void processRelationsAfterParsing() throws IllegalDataException
IllegalDataException
- if a data integrity problem is detected, i.e. if a
relation member refers to a local primitive which wasn't available in the dataprotected void processChangesetAfterParsing()
protected final void prepareDataSet() throws IllegalDataException
IllegalDataException
protected abstract DataSet doParseDataSet(java.io.InputStream source, ProgressMonitor progressMonitor) throws IllegalDataException
IllegalDataException
protected final DataSet doParseDataSet(java.io.InputStream source, ProgressMonitor progressMonitor, AbstractReader.ParserWorker parserWorker) throws IllegalDataException
IllegalDataException
protected final long getLong(java.lang.String name, java.lang.String value) throws IllegalDataException
IllegalDataException
protected final void parseVersion(java.lang.String version) throws IllegalDataException
IllegalDataException
private static void validateVersion(java.lang.String version) throws IllegalDataException
IllegalDataException
protected final void parseDownloadPolicy(java.lang.String key, java.lang.String downloadPolicy) throws IllegalDataException
IllegalDataException
protected final void parseUploadPolicy(java.lang.String key, java.lang.String uploadPolicy) throws IllegalDataException
IllegalDataException
private static void parsePolicy(java.lang.String key, java.lang.String policy, java.util.function.Consumer<java.lang.String> consumer) throws IllegalDataException
IllegalDataException
protected final void parseLocked(java.lang.String locked)
protected final void parseBounds(java.lang.String generator, java.lang.String minlon, java.lang.String minlat, java.lang.String maxlon, java.lang.String maxlat, java.lang.String origin) throws IllegalDataException
IllegalDataException
protected final void parseId(PrimitiveData current, long id) throws IllegalDataException
IllegalDataException
protected final void parseTimestamp(PrimitiveData current, java.lang.String time)
private static User createUser(java.lang.String uid, java.lang.String name) throws IllegalDataException
IllegalDataException
protected final void parseUser(PrimitiveData current, java.lang.String user, long uid)
protected final void parseUser(PrimitiveData current, java.lang.String user, java.lang.String uid) throws IllegalDataException
IllegalDataException
protected final void parseVisible(PrimitiveData current, java.lang.String visible)
protected final void parseVersion(PrimitiveData current, java.lang.String versionString) throws IllegalDataException
IllegalDataException
protected final void parseVersion(PrimitiveData current, int version) throws IllegalDataException
IllegalDataException
protected final void parseAction(PrimitiveData current, java.lang.String action)
private static void handleIllegalChangeset(PrimitiveData current, java.lang.IllegalArgumentException e, java.lang.Object v) throws IllegalDataException
IllegalDataException
protected final void parseChangeset(PrimitiveData current, java.lang.String v) throws IllegalDataException
IllegalDataException
protected final void parseChangeset(PrimitiveData current, int v) throws IllegalDataException
IllegalDataException
protected final void parseTag(Tagged t, java.lang.String key, java.lang.String value) throws IllegalDataException
IllegalDataException
private static boolean areLatLonDefined(java.lang.String lat, java.lang.String lon)
private static boolean areLatLonDefined(double lat, double lon)
protected OsmPrimitive buildPrimitive(PrimitiveData pd)
private Node addNode(NodeData nd, AbstractReader.NodeReader nodeReader) throws IllegalDataException
IllegalDataException
protected final Node parseNode(double lat, double lon, AbstractReader.CommonReader commonReader, AbstractReader.NodeReader nodeReader) throws IllegalDataException
IllegalDataException
protected final Node parseNode(java.lang.String lat, java.lang.String lon, AbstractReader.CommonReader commonReader, AbstractReader.NodeReader nodeReader) throws IllegalDataException
IllegalDataException
protected final Way parseWay(AbstractReader.CommonReader commonReader, AbstractReader.WayReader wayReader) throws IllegalDataException
IllegalDataException
protected final Relation parseRelation(AbstractReader.CommonReader commonReader, AbstractReader.RelationReader relationReader) throws IllegalDataException
IllegalDataException
protected final RelationMemberData parseRelationMember(Relation r, java.lang.String ref, java.lang.String type, java.lang.String role) throws IllegalDataException
IllegalDataException
protected final RelationMemberData parseRelationMember(Relation r, long id, java.lang.String type, java.lang.String role) throws IllegalDataException
IllegalDataException