Package cdc.enums

Interface SynthesisMask<M extends SynthesisMask<M,V>,V>

Type Parameters:
M - The synthesis mask type.
V - the value type.
All Known Implementing Classes:
AbstractSynthesisMask, EnumSynthesisMask, NullableEnumSynthesisMask

public interface SynthesisMask<M extends SynthesisMask<M,V>,V>
Interface describing a synthesis mask.

It is a map from values to SynthesisStatus.

Author:
Damien Carbonne
  • Method Details

    • getSupport

      SynthesisMaskSupport<M,V> getSupport()
      Returns:
      The associated support.
    • getType

      ListType<V> getType()
      Returns:
      The associated type.
    • isNullable

      boolean isNullable()
      Returns:
      true if null is a valid mask value that can be characterized.
    • set

      M set(V value, SynthesisStatus status)
      Sets the status of a value.
      Parameters:
      value - The value.
      status - The status.
      Returns:
      The corresponding mask.
    • setAll

      M setAll(SynthesisStatus status)
      Sets the status of all values.
      Parameters:
      status - The status.
      Returns:
      The corresponding mask.
    • get

      SynthesisStatus get(V value)
      Returns the status associated to a value.
      Parameters:
      value - The value.
      Returns:
      The status of value.
    • isLooselySet

      default boolean isLooselySet(V value)
    • merge

      M merge(M other)
    • merge

      M merge(Mask<?,V> mask)
    • toString

      String toString(Function<SynthesisStatus,String> statusToString, String separator)