Class SessionReader.ImportSupport
- java.lang.Object
-
- org.openstreetmap.josm.io.session.SessionReader.ImportSupport
-
- Enclosing class:
- SessionReader
public class SessionReader.ImportSupport extends java.lang.Object
A class that provides some context for the individualSessionLayerImporterwhen doing the import.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringinZipPathPath of the file inside the zip archive.private java.util.List<SessionReader.LayerDependency>layerDependenciesprivate intlayerIndexprivate java.lang.StringlayerNameprivate java.util.Map<java.lang.Integer,java.util.Map.Entry<Layer,org.w3c.dom.Element>>subLayers
-
Constructor Summary
Constructors Constructor Description ImportSupport(java.lang.String layerName, int layerIndex, java.util.List<SessionReader.LayerDependency> layerDependencies)Constructs a newImportSupport.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPostLayersTask(java.lang.Runnable task)Add a task, e.g.voidaddSubLayer(int idx, Layer layer, org.w3c.dom.Element el)Add sub layersjava.io.FilegetFile(java.lang.String uriStr)Return a File for a URI from a .jos/.joz file.java.io.InputStreamgetInputStream(java.lang.String uriStr)Return an InputStream for a URI from a .jos/.joz file.java.util.List<SessionReader.LayerDependency>getLayerDependencies()Dependencies - maps the layer index to the importer of the given layer.intgetLayerIndex()Index of the layer that is currently imported.java.lang.StringgetLayerName()Name of the layer that is currently imported.java.util.Map<java.lang.Integer,java.util.Map.Entry<Layer,org.w3c.dom.Element>>getSubLayers()Returns the sub layersbooleanisZip()Determines if we are reading from a .joz file.java.lang.StringtoString()
-
-
-
Field Detail
-
layerName
private final java.lang.String layerName
-
layerIndex
private final int layerIndex
-
layerDependencies
private final java.util.List<SessionReader.LayerDependency> layerDependencies
-
subLayers
private java.util.Map<java.lang.Integer,java.util.Map.Entry<Layer,org.w3c.dom.Element>> subLayers
-
inZipPath
private java.lang.String inZipPath
Path of the file inside the zip archive. Used as alternative return value for getFile method.
-
-
Constructor Detail
-
ImportSupport
public ImportSupport(java.lang.String layerName, int layerIndex, java.util.List<SessionReader.LayerDependency> layerDependencies)
Constructs a newImportSupport.- Parameters:
layerName- layer namelayerIndex- layer indexlayerDependencies- layer dependencies
-
-
Method Detail
-
addPostLayersTask
public void addPostLayersTask(java.lang.Runnable task)
Add a task, e.g. a message dialog, that should be executed in EDT after all layers have been added.- Parameters:
task- task to run in EDT
-
addSubLayer
public void addSubLayer(int idx, Layer layer, org.w3c.dom.Element el)
Add sub layers- Parameters:
idx- indexlayer- sub layerel- The XML element of the sub layer. Should contain "index" and "name" attributes. Can contain "opacity" and "visible" attributes- Since:
- 18466
-
getSubLayers
public java.util.Map<java.lang.Integer,java.util.Map.Entry<Layer,org.w3c.dom.Element>> getSubLayers()
Returns the sub layers- Returns:
- the sub layers. Can be null.
- Since:
- 18466
-
getInputStream
public java.io.InputStream getInputStream(java.lang.String uriStr) throws java.io.IOException
Return an InputStream for a URI from a .jos/.joz file.The following forms are supported:
- absolute file (both .jos and .joz): "file:///home/user/data.osm" "file:/home/user/data.osm" "file:///C:/files/data.osm" "file:/C:/file/data.osm" "/home/user/data.osm" "C:\files\data.osm" (not a URI, but recognized by File constructor on Windows systems) - standalone .jos files: - relative uri: "save/data.osm" "../project2/data.osm" - for .joz files: - file inside zip archive: "layers/01/data.osm" - relative to the .joz file: "../save/data.osm" ("../" steps out of the archive)
- Parameters:
uriStr- URI as string- Returns:
- the InputStream
- Throws:
java.io.IOException- Thrown when no Stream can be opened for the given URI, e.g. when the linked file has been deleted.
-
getFile
public java.io.File getFile(java.lang.String uriStr) throws java.io.IOException
Return a File for a URI from a .jos/.joz file.Returns null if the URI points to a file inside the zip archive. In this case, inZipPath will be set to the corresponding path.
- Parameters:
uriStr- the URI as string- Returns:
- the resulting File
- Throws:
java.io.IOException- if any I/O error occurs
-
isZip
public boolean isZip()
Determines if we are reading from a .joz file.- Returns:
trueif we are reading from a .joz file,falseotherwise
-
getLayerName
public java.lang.String getLayerName()
Name of the layer that is currently imported.- Returns:
- layer name
-
getLayerIndex
public int getLayerIndex()
Index of the layer that is currently imported.- Returns:
- layer index
-
getLayerDependencies
public java.util.List<SessionReader.LayerDependency> getLayerDependencies()
Dependencies - maps the layer index to the importer of the given layer. All the dependent importers have loaded completely at this point.- Returns:
- layer dependencies
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-