/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.common; /** * An identifier representing a session (an uninterrupted run maintaining its internal state) of an instance. * <p> * In an {@link InstanceNodeSessionId}, the instance and session parts are always defined (ie not null and * {@link CommonIdBase#INSTANCE_PART_LENGTH} and {@link CommonIdBase#SESSION_PART_LENGTH} characters long, respectively). The * "logical node part" is always null. * * @author Robert Mischke */ public interface InstanceNodeSessionId extends CommonIdBase, ResolvableNodeId { /** * @return the string form of the session id part; see the main {@link CommonIdBase} JavaDoc for its description */ String getSessionIdPart(); /** * @return the string form of the instance session id, derived from the instance id and the session id part; see the main JavaDoc for * its description */ String getInstanceNodeSessionIdString(); /** * @param id the id to compare with * @return true if both ids refer to the same instance session */ boolean isSameInstanceNodeSessionAs(InstanceNodeSessionId id); /** * @return the {@link InstanceNodeId} of this instance session; may or may not return the same object on repeated calls */ InstanceNodeId convertToInstanceNodeId(); /** * @return the default {@link LogicalNodeId} for this instance session; may or may not return the same object on repeated calls */ LogicalNodeId convertToDefaultLogicalNodeId(); /** * @return the default {@link LogicalNodeSessionId} for this instance session; may or may not return the same object on repeated calls */ LogicalNodeSessionId convertToDefaultLogicalNodeSessionId(); }