package co.smartreceipts.android.analytics.events;
import android.support.annotation.NonNull;
import com.google.common.base.Preconditions;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class DefaultEvent implements Event {
private final Category mCategory;
private final Name mName;
protected final List<DataPoint> mDataPoints;
public DefaultEvent(@NonNull Category category, @NonNull String name) {
this(category, new ImmutableName(name));
}
public DefaultEvent(@NonNull Category category, @NonNull Name name) {
this(category, name, Collections.<DataPoint>emptyList());
}
public DefaultEvent(@NonNull Category category, @NonNull Name name, @NonNull List<DataPoint> dataPoints) {
mCategory = Preconditions.checkNotNull(category);
mName = Preconditions.checkNotNull(name);
mDataPoints = new ArrayList<>(Preconditions.checkNotNull(dataPoints));
}
@NonNull
@Override
public Category category() {
return mCategory;
}
@NonNull
@Override
public Name name() {
return mName;
}
@NonNull
@Override
public List<DataPoint> getDataPoints() {
return mDataPoints;
}
@Override
public String toString() {
return "<" + category() + "::" + name() + ">";
}
}