Class EditorKey

java.lang.Object
com.arubanetworks.meridian.editor.EditorKey
All Implemented Interfaces:
Serializable

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:

```java String placemarkId = placemarkKey.getId(); String placemarkMapId = placemarkKey.getParent().getId(); String placemarkAppId = placemarkKey.getParent().getParent().getId(); ```

See Also:
  • Constructor Details

    • EditorKey

      public EditorKey(String id, EditorKey parent)
      Constructor for a new EditorKey.
      Parameters:
      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.
      Throws:
      IllegalArgumentException - if ID is invalid
    • EditorKey

      public EditorKey(String id)
      Constructor for a new EditorKey, the parent key will be null.
      Parameters:
      id - The Meridian ID of a known key, must not be null.
      Throws:
      IllegalArgumentException - if ID is invalid
  • Method Details

    • getId

      public String getId()
    • getParent

      public EditorKey getParent()
    • forApp

      public static EditorKey forApp(@NonNull String appId)
      Constructs an EditorKey to a known Meridian App ID
      Parameters:
      appId - The Meridian App ID for the returned key. must not be null or empty
      Throws:
      IllegalArgumentException - if appId is invalid
    • forMap

      public static EditorKey forMap(String mapId, String appId)
      Constructs an EditorKey to a known Meridian Map ID found in the given Meridian App ID.
      Parameters:
      mapId - The Meridian Map ID for the returned key, must not be null or empty
      appId - The Meridian App ID for the returned key. must not be null or empty
      Throws:
      IllegalArgumentException - if mapId or appId is invalid
    • forMap

      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.
      Parameters:
      mapId - The Meridian Map ID for the returned key, must not be null or empty
      appKey - The Meridian App Key for the returned key. must not be null or empty
      Throws:
      IllegalArgumentException - if mapId or appKey is invalid
    • forPlacemark

      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.
      Parameters:
      placemarkId - A known Meridian Placemark ID, must not be null or empty
      mapKey - A known Meridian Map key, must not be null or empty
      Throws:
      IllegalArgumentException - if mapKey or placemarkId is invalid
    • forPlacemark

      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.
      Parameters:
      placemarkId - A known Meridian Placemark ID, must not be null or empty
      mapId - A known Meridian Map id, must not be null or empty
      appId - A known Meridian App id, must not be null or empty
      Throws:
      IllegalArgumentException - if mapId or appId or placemarkId is invalid
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      @NonNull public String toString()
      Overrides:
      toString in class Object
    • toJSON

      public JSONObject toJSON()
    • fromJSON

      public static EditorKey fromJSON(String json)
    • fromJSON

      public static EditorKey fromJSON(JSONObject jsonObject)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object