Interface FieldSwitch<R>

Type Parameters:
R - switch method return type

public interface FieldSwitch<R>
Visitor pattern interface for Fields.
See Also:
  • Method Details

    • caseSetField

      default <E> R caseSetField(SetField<E> field)
      Handle a SetField.

      The implementation in FieldSwitch delegates to caseCollectionField().

      Type Parameters:
      E - set element type
      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseListField

      default <E> R caseListField(ListField<E> field)
      Handle a ListField.

      The implementation in FieldSwitch delegates to caseCollectionField().

      Type Parameters:
      E - list element type
      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseMapField

      default <K, V> R caseMapField(MapField<K,V> field)
      Handle a MapField.

      The implementation in FieldSwitch delegates to caseComplexField().

      Type Parameters:
      K - map key type
      V - map value type
      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseSimpleField

      default <T> R caseSimpleField(SimpleField<T> field)
      Handle a SimpleField.

      The implementation in FieldSwitch delegates to caseField().

      Type Parameters:
      T - field type
      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseReferenceField

      default R caseReferenceField(ReferenceField field)
      Handle a ReferenceField.

      The implementation in FieldSwitch delegates to caseSimpleField().

      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseCounterField

      default R caseCounterField(CounterField field)
      Handle a CounterField.

      The implementation in FieldSwitch delegates to caseField().

      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseEnumField

      default R caseEnumField(EnumField field)
      Handle an EnumField.

      The implementation in FieldSwitch delegates to caseSimpleField().

      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseEnumArrayField

      default R caseEnumArrayField(EnumArrayField field)
      Handle an EnumArrayField.

      The implementation in FieldSwitch delegates to caseSimpleField().

      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseCollectionField

      default <C extends Collection<E>, E> R caseCollectionField(CollectionField<C,E> field)
      Visitor pattern roll-up method.

      The implementation in FieldSwitch delegates to caseComplexField().

      Type Parameters:
      C - field type
      E - collection element type
      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseComplexField

      default <T> R caseComplexField(ComplexField<T> field)
      Visitor pattern roll-up method.

      The implementation in FieldSwitch delegates to caseField().

      Type Parameters:
      T - field type
      Parameters:
      field - visiting field
      Returns:
      visitor return value
    • caseField

      default <T> R caseField(Field<T> field)
      Visitor pattern roll-up method.

      The implementation in FieldSwitch always throws UnsupportedOperationException.

      Type Parameters:
      T - field type
      Parameters:
      field - visiting field
      Returns:
      visitor return value