/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.rpc.internal; import de.rcenvironment.core.communication.api.ServiceCallContext; import de.rcenvironment.core.communication.common.LogicalNodeSessionId; import de.rcenvironment.core.utils.common.StringUtils; /** * {@link ServiceCallContext} implementation. * * @author Robert Mischke */ public final class ServiceCallContextImpl implements ServiceCallContext { private final LogicalNodeSessionId caller; private final LogicalNodeSessionId receiver; private final String serviceName; private final String methodName; public ServiceCallContextImpl(LogicalNodeSessionId caller, LogicalNodeSessionId receiver, String serviceName, String methodName) { this.caller = caller; this.receiver = receiver; this.serviceName = serviceName; this.methodName = methodName; } @Override public LogicalNodeSessionId getReceivingNode() { return receiver; } @Override public LogicalNodeSessionId getCallingNode() { return caller; } @Override public String getServiceName() { return serviceName; } @Override public String getMethodName() { return methodName; } @Override public String toString() { return StringUtils.format("Service call to %s.%s() from %s to local id %s", serviceName, methodName, caller, receiver); } }