Class DisplayData.ItemSpec<T>

java.lang.Object
org.apache.beam.sdk.transforms.display.DisplayData.ItemSpec<T>
All Implemented Interfaces:
Serializable
Enclosing class:
DisplayData

public abstract static class DisplayData.ItemSpec<T> extends Object implements Serializable
Specifies an DisplayData.Item to register as display data. Each item is identified by a given path, key, and namespace from the component the display item belongs to.

Items are registered via DisplayData.Builder.add(org.apache.beam.sdk.transforms.display.DisplayData.ItemSpec<?>) within HasDisplayData.populateDisplayData(org.apache.beam.sdk.transforms.display.DisplayData.Builder) implementations.

See Also:
  • Constructor Details

    • ItemSpec

      public ItemSpec()
  • Method Details

    • getNamespace

      public abstract @Nullable Class<?> getNamespace()
      The namespace for the display item. If unset, defaults to the component which the display item is registered to.
    • getKey

      public abstract String getKey()
      The key for the display item. Each display item is created with a key and value via DisplayData.item(java.lang.String, java.lang.String).
    • getType

      public abstract DisplayData.Type getType()
      The DisplayData.Type of display data. All display data conforms to a predefined set of allowed types.
    • getValue

      public abstract @Nullable Object getValue()
      The value of the display item. The value is translated from the input to DisplayData.item(java.lang.String, java.lang.String) into a format suitable for display. Translation is based on the item's type.
    • getShortValue

      public abstract @Nullable Object getShortValue()
      The optional short value for an item, or null if none is provided.

      The short value is an alternative display representation for items having a long display value. For example, the value for DisplayData.Type.JAVA_CLASS items contains the full class name with package, while the short value contains just the class name.

      A value will be provided for each display item, and some types may also provide a short-value. If a short value is provided, display data consumers may choose to display it instead of or in addition to the value.

    • getLabel

      public abstract @Nullable String getLabel()
      The optional label for an item. The label is a human-readable description of what the metadata represents. UIs may choose to display the label instead of the item key.
    • getLinkUrl

      public abstract @Nullable String getLinkUrl()
      The optional link URL for an item. The URL points to an address where the reader can find additional context for the display data.
    • withNamespace

      public DisplayData.ItemSpec<T> withNamespace(Class<?> namespace)
      Set the item namespace from the given Class.

      This method does not alter the current instance, but instead returns a new DisplayData.ItemSpec with the namespace set.

    • withLabel

      public DisplayData.ItemSpec<T> withLabel(@Nullable String label)
      Set the item label.

      Specifying a null value will clear the label if it was previously defined.

      This method does not alter the current instance, but instead returns a new DisplayData.ItemSpec with the label set.

    • withLinkUrl

      public DisplayData.ItemSpec<T> withLinkUrl(@Nullable String url)
      Set the item link url.

      Specifying a null value will clear the link url if it was previously defined.

      This method does not alter the current instance, but instead returns a new DisplayData.ItemSpec with the link url set.

    • toString

      public final String toString()
      Overrides:
      toString in class Object