/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.model.internal; import de.rcenvironment.core.communication.common.NetworkGraphLink; import de.rcenvironment.core.communication.common.NetworkGraphNode; import de.rcenvironment.core.communication.common.InstanceNodeSessionId; import de.rcenvironment.core.utils.common.StringUtils; /** * Tree representation of a "connection" between two {@link NetworkGraphNode}s. The exact semantics are up to the content provider. * * @author Robert Mischke */ public final class NetworkGraphLinkImpl implements NetworkGraphLink { private final String linkId; private final InstanceNodeSessionId source; private final InstanceNodeSessionId target; public NetworkGraphLinkImpl(String linkId, InstanceNodeSessionId source, InstanceNodeSessionId target) { if (linkId == null || source == null || target == null) { throw new NullPointerException(StringUtils.format("%s / %s / %s", linkId, source, target)); } this.linkId = linkId; this.source = source; this.target = target; } @Override public String getLinkId() { return linkId; } @Override public InstanceNodeSessionId getSourceNodeId() { return source; } @Override public InstanceNodeSessionId getTargetNodeId() { return target; } @Override public String toString() { return StringUtils.format("%s (%s->%s)", linkId, source, target); } }