package org.limewire.listener;
import org.limewire.util.Objects;
public class DefaultSourcedEvent<S> implements SourcedEvent<S> {
private final S source;
public DefaultSourcedEvent(S source) {
this.source = Objects.nonNull(source, "source");
}
public S getSource() {
return source;
}
@Override
public int hashCode() {
return source.hashCode();
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof SourcedEvent)) {
return false;
}
return source.equals(((SourcedEvent)obj).getSource());
}
@Override
public String toString() {
return getClass().getSimpleName() + " - source: " + source;
}
}