001package co.codewizards.cloudstore.ls.core.invoke;
002
003import static java.util.Objects.*;
004
005import co.codewizards.cloudstore.core.Uid;
006import co.codewizards.cloudstore.ls.core.dto.AbstractInverseServiceRequest;
007
008public class InverseMethodInvocationRequest extends AbstractInverseServiceRequest {
009        private static final long serialVersionUID = 1L;
010
011        private final MethodInvocationRequest methodInvocationRequest;
012        private final Uid delayedResponseId;
013
014        public InverseMethodInvocationRequest(final MethodInvocationRequest methodInvocationRequest) {
015                this.methodInvocationRequest = requireNonNull(methodInvocationRequest, "methodInvocationRequest");
016                this.delayedResponseId = null;
017        }
018
019        public InverseMethodInvocationRequest(final Uid delayedResponseId) {
020                this.methodInvocationRequest = null;
021                this.delayedResponseId = requireNonNull(delayedResponseId, "delayedResponseId");
022        }
023
024        public MethodInvocationRequest getMethodInvocationRequest() {
025                return methodInvocationRequest;
026        }
027
028        public Uid getDelayedResponseId() {
029                return delayedResponseId;
030        }
031
032        @Override
033        public boolean isTimeoutDeadly() {
034                return true;
035        }
036}