/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.api; import de.rcenvironment.core.communication.common.CommonIdBase; import de.rcenvironment.core.communication.common.IdentifierException; import de.rcenvironment.core.communication.common.InstanceNodeSessionId; import de.rcenvironment.core.communication.common.LogicalNodeSessionId; import de.rcenvironment.core.communication.common.ResolvableNodeId; /** * A service for resolving received or stored node/network ids of any type to specific ids in the currently known and reachable network. * * @author Robert Mischke */ public interface LiveNetworkIdResolutionService { /** * Returns the most appropriate {@link InstanceNodeSessionId} for the given string, which can be either an instance id (as, for example, * returned by {@link CommonIdBase#getInstanceNodeIdString()}), or an instance session id (as, for example, returned by * {@link InstanceNodeSessionId#getInstanceNodeSessionIdString()}. * * @param input the string to resolve * @return the resolved {@link InstanceNodeSessionId} * @throws IdentifierException if no appropriate match exists */ InstanceNodeSessionId resolveInstanceNodeIdStringToInstanceNodeSessionId(String input) throws IdentifierException; /** * Resolves/converts the given id to the best-matching {@link LogicalNodeSessionId} available. If no match exists, an * {@link IdentifierException} is thrown. * * @param id the id to resolve * @return the {@link LogicalNodeSessionId} on success * @throws IdentifierException if no appropriate match exists */ LogicalNodeSessionId resolveToLogicalNodeSessionId(ResolvableNodeId id) throws IdentifierException; }