Class NetworkLayerImpl

    • Field Detail

      • supportedModes

        protected final Map<Long,​Mode> supportedModes
        the modes supported by this layer (not owned)
    • Constructor Detail

      • NetworkLayerImpl

        protected NetworkLayerImpl​(IdGroupingToken tokenId)
        Constructor
        Parameters:
        tokenId - to generate id for this instance for
      • NetworkLayerImpl

        protected NetworkLayerImpl​(NetworkLayerImpl other,
                                   boolean deepCopy)
        Copy constructor
        Parameters:
        other - to copy
        deepCopy - when true, create a deep copy, shallow copy otherwise
    • Method Detail

      • generateId

        protected static long generateId​(IdGroupingToken tokenId)
        generate unique node id
        Parameters:
        tokenId - contiguous id generation within this group for instances of this class
        Returns:
        nodeId
      • registerSupportedMode

        public boolean registerSupportedMode​(Mode supportedMode)
        register a mode as supported by this layer
        Specified by:
        registerSupportedMode in interface NetworkLayer
        Parameters:
        supportedMode - to support
        Returns:
        true when successful false otherwise
      • registerSupportedModes

        public boolean registerSupportedModes​(Collection<Mode> supportedModes)
        register modes as supported by this layer
        Specified by:
        registerSupportedModes in interface NetworkLayer
        Parameters:
        supportedModes - to support
        Returns:
        true when successful false otherwise
      • getSupportedModes

        public Collection<Mode> getSupportedModes()
        collect the modes supported by this infrastructure layer
        Specified by:
        getSupportedModes in interface NetworkLayer
        Returns:
        the supported modes for at least some part of the available infrastructure
      • supportsPredefinedMode

        public boolean supportsPredefinedMode​(PredefinedModeType predefinedModeType)
        Verify if a predefined mode is supported based on its type
        Specified by:
        supportsPredefinedMode in interface NetworkLayer
        Parameters:
        predefinedModeType - to verify
        Returns:
        true, when supported, false otherwise
      • logInfo

        public void logInfo​(String prefix)
        invoked by entities inquiring about general information about the layer to display to users
        Specified by:
        logInfo in interface NetworkLayer
        Parameters:
        prefix - optional prefix to include in each line of logging
      • recreateManagedIds

        public long recreateManagedIds​(IdGroupingToken tokenId)
        recreate the internal id(s) and set them including the Idable id
        Specified by:
        recreateManagedIds in interface ManagedId
        Parameters:
        tokenId - to use (may be null in case managed id entity does not rely on token to recreate its managed id(s))
        Returns:
        the updated internal id
      • reset

        public void reset()
        Reset the layer
        Specified by:
        reset in interface NetworkLayer
      • deepClone

        public abstract NetworkLayerImpl deepClone()
        An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call. To be used with caution if not called by managed id container related code
        Specified by:
        deepClone in interface IdAble
        Specified by:
        deepClone in interface NetworkLayer
        Overrides:
        deepClone in class ExternalIdAbleImpl
        Returns:
        deep copy of entity