public class EditorKey extends Object implements Serializable
EditorKey represents a globally-unique ID to an object created in the Meridian Editor. Objects created in the Editor can have multiple ID components and this class helps locate an object based on the various components needed.
Here’s an example: A Meridian “Placemark” has an ID (Placemark.key
), but it is only unique to the parent Map containing it. The Map also has an ID, but it is only unique to the parent App containing it. The App has its own ID, which is globally unique, and so that is the root key with a null
parent.
Putting it all together:
String placemarkId = placemarkKey.getId();
String placemarkMapId = placemarkKey.getParent().getId();
String placemarkAppId = placemarkKey.getParent().getParent().getId();
Constructor and Description |
---|
EditorKey(String id)
Constructor for a new
EditorKey , the parent key will be null . |
EditorKey(String id,
EditorKey parent)
Constructor for a new
EditorKey . |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
static EditorKey |
forApp(String appId)
Constructs an
EditorKey to a known Meridian App ID |
static EditorKey |
forMap(String mapId,
EditorKey appKey)
Constructs an
EditorKey to a known Meridian Map ID found in the given Meridian App ID. |
static EditorKey |
forMap(String mapId,
String appId)
Constructs an
EditorKey to a known Meridian Map ID found in the given Meridian App ID. |
static EditorKey |
forPlacemark(String placemarkId,
EditorKey mapKey)
Constructs a key to a known Meridian Placemark ID found in the Meridian Map with the given key.
|
static EditorKey |
forPlacemark(String placemarkId,
String mapId,
String appId)
Constructs a key to a known Meridian Placemark ID found in the Meridian Map and App with the given ids.
|
static EditorKey |
fromJSON(org.json.JSONObject jsonObject) |
static EditorKey |
fromJSON(String json) |
String |
getId() |
EditorKey |
getParent() |
int |
hashCode() |
org.json.JSONObject |
toJSON() |
String |
toString() |
public EditorKey(String id, EditorKey parent)
Constructor for a new EditorKey
.
id
- The Meridian ID of a known key, must not be null
or empty.parent
- The known parent key for this Meridian ID, may be null
.IllegalArgumentException
public EditorKey(String id)
Constructor for a new EditorKey
, the parent key will be null
.
id
- The Meridian ID of a known key, must not be null.IllegalArgumentException
public String getId()
public EditorKey getParent()
public static EditorKey forApp(@NonNull String appId)
Constructs an EditorKey
to a known Meridian App ID
appId
- The Meridian App ID for the returned key. must not be null
or emptyIllegalArgumentException
public static EditorKey forMap(String mapId, String appId)
Constructs an EditorKey
to a known Meridian Map ID found in the given Meridian App ID.
mapId
- The Meridian Map ID for the returned key, must not be null
or emptyappId
- The Meridian App ID for the returned key. must not be null
or emptyIllegalArgumentException
public static EditorKey forMap(String mapId, @NonNull EditorKey appKey)
Constructs an EditorKey
to a known Meridian Map ID found in the given Meridian App ID.
mapId
- The Meridian Map ID for the returned key, must not be null
or emptyappKey
- The Meridian App Key for the returned key. must not be null
or emptyIllegalArgumentException
public static EditorKey forPlacemark(String placemarkId, EditorKey mapKey)
Constructs a key to a known Meridian Placemark ID found in the Meridian Map with the given key.
placemarkId
- A known Meridian Placemark ID, must not be null
or emptymapKey
- A known Meridian Map key, must not be null
or emptyIllegalArgumentException
public static EditorKey forPlacemark(String placemarkId, String mapId, String appId)
Constructs a key to a known Meridian Placemark ID found in the Meridian Map and App with the given ids.
placemarkId
- A known Meridian Placemark ID, must not be null
or emptymapId
- A known Meridian Map id, must not be null
or emptyappId
- A known Meridian App id, must not be null
or emptyIllegalArgumentException
public org.json.JSONObject toJSON()
public static EditorKey fromJSON(org.json.JSONObject jsonObject)