Class TransferZoneImpl

    • Constructor Detail

      • TransferZoneImpl

        public TransferZoneImpl​(IdGroupingToken tokenId)
        constructor
        Parameters:
        tokenId - for id generation
      • TransferZoneImpl

        public TransferZoneImpl​(TransferZoneImpl transferZoneImpl)
        Copy constructor
        Parameters:
        transferZoneImpl - to copy
    • Method Detail

      • generateTransferZoneId

        protected static long generateTransferZoneId​(IdGroupingToken tokenId)
        generate unique od zone id
        Parameters:
        tokenId - contiguous id generation within this group for instances of this class
        Returns:
        odZoneId
      • setTransferZoneId

        protected void setTransferZoneId​(long transferZoneId)
        Set transfer zone Id
        Parameters:
        transferZoneId - to set
      • getTransferZoneId

        public long getTransferZoneId()
        In addition to a zone id across all zones of any derived type, each transfer zone also has a unique id across the transfer zones specifically
        Specified by:
        getTransferZoneId in interface TransferZone
        Returns:
        transfer zone specific id
      • hasTransferZoneGroup

        public boolean hasTransferZoneGroup()
        Verify if a transfer zone is part of one or more transfer zone groups
        Specified by:
        hasTransferZoneGroup in interface TransferZone
        Returns:
        true when in transfer zone group, false otherwise
      • isInTransferZoneGroup

        public boolean isInTransferZoneGroup​(TransferZoneGroup transferZoneGroup)
        Verify if transfer zone is part of passed in transfer zone group
        Specified by:
        isInTransferZoneGroup in interface TransferZone
        Parameters:
        transferZoneGroup - to check
        Returns:
        true when part of group, false otherwise
      • addToTransferZoneGroup

        public void addToTransferZoneGroup​(TransferZoneGroup transferZoneGroup)
        register this transfer zone group as a group this transfer zone is part of
        Specified by:
        addToTransferZoneGroup in interface TransferZone
        Parameters:
        transferZoneGroup - to register as being part of
      • removeFromTransferZoneGroup

        public boolean removeFromTransferZoneGroup​(TransferZoneGroup transferZoneGroup)
        remove from transfer zone group provided and also remove ths transfer zone from group provided
        Specified by:
        removeFromTransferZoneGroup in interface TransferZone
        Parameters:
        transferZoneGroup - to remove ourselves as member from
        Returns:
        true when removal was successful, false otherwise
      • removeFromAllTransferZoneGroups

        public void removeFromAllTransferZoneGroups()
        remove this transfer zone from all groups it is registered on (and also update the group references
        Specified by:
        removeFromAllTransferZoneGroups in interface TransferZone
      • getTransferZoneGroups

        public final Set<TransferZoneGroup> getTransferZoneGroups()
        All transfer zone groups the transfer zone resides in (unmodifiable)
        Specified by:
        getTransferZoneGroups in interface TransferZone
        Returns:
        transfer zone groups of the transfer zone