public interface PlatformProvider extends Provider<Platform>
Platform
.
Created by Pepijn on 12-2-2017.Modifier and Type | Interface and Description |
---|---|
static class |
PlatformProvider.MapInfo |
PROPERTY_MINIMUM_WORLDPAINTER_VERSION, PROPERTY_NAME, PROPERTY_UUIDS, PROPERTY_VERSION
Modifier and Type | Method and Description |
---|---|
java.io.File |
getDefaultExportDir(Platform platform)
Get the default directory to select on the Export screen for a
platform supported by this provider.
|
default ExportSettings |
getDefaultExportSettings(Platform platform)
Get the default
ExportSettings for a supported platform, or null if the platform has no export
settings. |
WorldExporter |
getExporter(World2 world,
WorldExportSettings exportSettings)
Obtain a
WorldExporter for the platform currently configured in
the specified world. |
default ExportSettingsEditor |
getExportSettingsEditor(Platform platform)
Get an instance of an
ExportSettingsEditor suitable for editing an ExportSettings object as
returned by getDefaultExportSettings(Platform) . |
default MapRecognizer |
getMapRecognizer()
Deprecated.
Will never be called. Do not implement. The default implementation throws an
UnsupportedOperationException . |
default PlatformProvider.MapInfo |
identifyMap(java.io.File dir)
Identify the map in the specified directory, if it is a map supported by the plugin to which this provider
belongs, and provide some identifying information if so.
|
default java.lang.String |
isCompatible(Platform platform,
World2 world)
Determines whether a world could be retargeted to a platform supported by this provider without requiring any
changes or edits.
|
default java.io.File |
selectBackupDir(java.io.File exportDir)
Indicate into which directory the existing map, if any, would be backed up if it were being exported into
exportDir , but do not create it if it does not exist. |
getMinimumWorldPainterVersion, getName, getProperties, getUUIDs, getVersion, init
WorldExporter getExporter(World2 world, WorldExportSettings exportSettings)
WorldExporter
for the platform currently configured in
the specified world.world
- The world to export.exportSettings
- The export settings to use for this export. If this is null
then the export
settings stored on the world
object will be used, if any.java.io.File getDefaultExportDir(Platform platform)
platform
- The platform for which to provide the default export
directory.default java.io.File selectBackupDir(java.io.File exportDir) throws java.io.IOException
exportDir
, but do not create it if it does not exist.exportDir
- The directory into which the world would be going to be exported.null
if
this is not supported or it cannot be determined.java.io.IOException
- If an I/O error occurs while determining the backup directory.@Deprecated default MapRecognizer getMapRecognizer()
UnsupportedOperationException
.default PlatformProvider.MapInfo identifyMap(java.io.File dir)
The default implementation returns null
. This will make it harder to select maps of the type(s)
supported by this platform provider for users when they wish to Import a map. If the platform provider does not
support Importing this is not relevant.
dir
- The directory to identify.null
if it was
not recognised.default ExportSettings getDefaultExportSettings(Platform platform)
ExportSettings
for a supported platform, or null
if the platform has no export
settings.
The default implementation returns null
.
platform
- The platform for which to provide the default export settings.ExportSettings
for the specified platform, or null
if the platform has no
export settings.default ExportSettingsEditor getExportSettingsEditor(Platform platform)
ExportSettingsEditor
suitable for editing an ExportSettings
object as
returned by getDefaultExportSettings(Platform)
. Will only be invoked if
getDefaultExportSettings(Platform)
does not return null
.
The default implementation throws an UnsupportedOperationException
.
platform
- The platform for which to provide the export settings editor.ExportSettingsEditor
.default java.lang.String isCompatible(Platform platform, World2 world)
The default implementation just returns platform.isCompatible(world)
.
platform
- The platform with which to check compatibility.world
- The world to check for compatibility.null
if the world could be trivially retargeted to the specified platform, or a short description
of the reason if it cannot.