Class TagForm<T>

java.lang.Object
swim.structure.Form<T>
swim.structure.form.TagForm<T>

public final class TagForm<T> extends Form<T>
  • Constructor Details

  • Method Details

    • tag

      public String tag()
      Description copied from class: Form
      Returns the key of the tag attribute that distinguishes structures of this Form; returns null if this Form has no distinguishing tag attribute. Used to accelerate distrcrimination of polymorphic structural types with nominal type hints.
      Overrides:
      tag in class Form<T>
    • tag

      public Form<T> tag(String tag)
      Description copied from class: Form
      Returns a version of this Form that requires a head Attr with the given tag name.
      Overrides:
      tag in class Form<T>
    • unit

      public T unit()
      Description copied from class: Form
      Returns a default–possibly null–value of type T. Used as the fallback return value when coercing an invalid structural value.
      Overrides:
      unit in class Form<T>
    • unit

      public Form<T> unit(T unit)
      Description copied from class: Form
      Returns a version of this Form with the given unit value.
      Overrides:
      unit in class Form<T>
    • type

      public Class<?> type()
      Description copied from class: Form
      Returns the reified Class of type T.
      Specified by:
      type in class Form<T>
    • mold

      public Item mold(T object, Item item)
      Description copied from class: Form
      Converts a nominally typed Java object into its structurally typed equivalent based on the provided prototype item. The passed-in item is assumed to be non-null. The returned Item must never be null.
      Overrides:
      mold in class Form<T>
    • mold

      public Item mold(T object)
      Description copied from class: Form
      Converts a nominally typed Java object into its structurally typed equivalent. The returned Item must never be null.
      Specified by:
      mold in class Form<T>
    • cast

      public T cast(Item item, T object)
      Description copied from class: Form
      Converts a structurally typed item into a nominally typed Java object based on the provided prototype object. The passed-in item is assumed to be non-null. The passed-in prototype object may be null.
      Overrides:
      cast in class Form<T>
    • cast

      public T cast(Item item)
      Description copied from class: Form
      Converts a structurally typed item into a nominally typed Java object. The passed-in item is assumed to be non-null.
      Specified by:
      cast in class Form<T>