001package arez.spy;
002
003import java.util.Map;
004import java.util.Objects;
005import javax.annotation.Nonnull;
006
007/**
008 * Notification when Computation starts.
009 */
010public final class ComputeStartEvent
011  implements SerializableEvent
012{
013  @Nonnull
014  private final ComputableValueInfo _computableValue;
015
016  public ComputeStartEvent( @Nonnull final ComputableValueInfo computableValue )
017  {
018    _computableValue = Objects.requireNonNull( computableValue );
019  }
020
021  @Nonnull
022  public ComputableValueInfo getComputableValue()
023  {
024    return _computableValue;
025  }
026
027  @Override
028  public void toMap( @Nonnull final Map<String, Object> map )
029  {
030    map.put( "type", "ComputeStart" );
031    map.put( "name", getComputableValue().getName() );
032  }
033}