package co.codewizards.cloudstore.ls.core.invoke.filter;
import static co.codewizards.cloudstore.core.util.AssertUtil.*;
import co.codewizards.cloudstore.ls.core.invoke.MethodInvocationRequest;
import co.codewizards.cloudstore.ls.core.invoke.ObjectManager;
public class ExtMethodInvocationRequest {
private final ObjectManager objectManager;
private final MethodInvocationRequest methodInvocationRequest;
private final Class<?> targetClass;
public ExtMethodInvocationRequest(final ObjectManager objectManager, final MethodInvocationRequest methodInvocationRequest, final Class<?> targetClass) {
this.objectManager = assertNotNull(objectManager, "objectManager");
this.methodInvocationRequest = assertNotNull(methodInvocationRequest, "methodInvocationRequest");
this.targetClass = targetClass == null ? methodInvocationRequest.getObject().getClass() : targetClass;
assertNotNull(this.targetClass, "this.targetClass");
}
public ObjectManager getObjectManager() {
return objectManager;
}
public MethodInvocationRequest getMethodInvocationRequest() {
return methodInvocationRequest;
}
public Class<?> getTargetClass() {
return targetClass;
}
}