package de.tum.in.i22.uc.cm.datatypes.basic; import java.util.Collections; import java.util.List; import java.util.Objects; import de.tum.in.i22.uc.cm.datatypes.interfaces.IEvent; import de.tum.in.i22.uc.cm.datatypes.interfaces.IResponse; import de.tum.in.i22.uc.cm.datatypes.interfaces.IStatus; public class ResponseBasic implements IResponse { private IStatus _authorizationAction = null; private List<IEvent> _executeActions = null; private IEvent _modifiedEvent = null; public ResponseBasic(IStatus authorizationAction, List<IEvent> executeActions, IEvent modifiedEvent) { super(); _authorizationAction = authorizationAction; _executeActions = executeActions; _modifiedEvent = modifiedEvent; } @Override public IStatus getAuthorizationAction() { return _authorizationAction; } @Override public List<IEvent> getExecuteActions() { return Collections.unmodifiableList(_executeActions); } @Override public IEvent getModifiedEvent() { return _modifiedEvent; } @Override public String toString() { return com.google.common.base.Objects.toStringHelper(this) .add("_authorizationAction", _authorizationAction) .add("_executeAction", _executeActions) .add("_modifiedEvent", _modifiedEvent) .toString(); } @Override public boolean equals(Object obj) { boolean isEqual = false; if (obj instanceof ResponseBasic) { ResponseBasic o = (ResponseBasic)obj; isEqual = Objects.equals(_authorizationAction, o._authorizationAction) && Objects.equals(_executeActions, o._executeActions) && Objects.equals(_modifiedEvent, o._modifiedEvent); } return isEqual; } @Override public int hashCode() { return Objects.hash(_authorizationAction, _executeActions, _modifiedEvent); } }