Class SurfaceSerializer

java.lang.Object
com.codename1.surfaces.SurfaceSerializer

public final class SurfaceSerializer extends Object

Serializes surface descriptors to the canonical wire format shared by every port: a compact JSON document plus PNG blobs named by content hash. This class is an internal seam between the core API and the platform bridges -- it is public only because ports live in separate artifacts; apps never call it.

The wire format is versioned ("v": 1) and deterministic: node maps preserve build order, state maps are emitted with sorted keys, timeline entries are sorted ascending by date and image names derive from a hash of the PNG bytes (identical art always gets the same name).

  • Method Details

    • serializeTimeline

      public static String serializeTimeline(String kindId, WidgetTimeline timeline, Map<String,byte[]> imagesOut)

      Serializes a widget timeline.

      Parameters
      • kindId: the widget kind id the timeline belongs to
      • timeline: the timeline to serialize
      • imagesOut: receives PNG blobs keyed by registered name
      Returns

      the timeline JSON

    • serializeLiveActivity

      public static String serializeLiveActivity(LiveActivityDescriptor descriptor, Map<String,Object> state, Map<String,byte[]> imagesOut)

      Serializes a live activity descriptor together with its initial state.

      Parameters
      • descriptor: the descriptor to serialize
      • state: the initial state map, may be null
      • imagesOut: receives PNG blobs keyed by registered name
      Returns

      the descriptor JSON

    • serializeState

      public static String serializeState(Map<String,Object> state)

      Serializes a state map with sorted keys.

      Parameters
      • state: the state map, may be null
      Returns

      the state JSON

    • serializeKind

      public static String serializeKind(WidgetKind kind)

      Serializes a widget kind declaration.

      Parameters
      • kind: the kind to serialize
      Returns

      the kind JSON