Class Threader

    • Constructor Detail

      • Threader

        public Threader()
    • Method Detail

      • buildContainer

        private void buildContainer​(Threadable threadable,
                                    java.util.HashMap<java.lang.String,​NntpThreadContainer> idTable)
        Parameters:
        threadable -
        idTable -
      • findRootSet

        private NntpThreadContainer findRootSet​(java.util.HashMap<java.lang.String,​NntpThreadContainer> idTable)
        Find the root set of all existing ThreadContainers
        Parameters:
        idTable -
        Returns:
        root the NntpThreadContainer representing the root node
      • gatherSubjects

        private void gatherSubjects​(NntpThreadContainer root)
        If any two members of the root set have the same subject, merge them. This is to attempt to accomodate messages without References: headers.
        Parameters:
        root -
      • pruneEmptyContainers

        private void pruneEmptyContainers​(NntpThreadContainer parent)
        Delete any empty or dummy ThreadContainers
        Parameters:
        parent -
      • thread

        public Threadable thread​(java.lang.Iterable<? extends Threadable> messages)
        The client passes in a list of Iterable objects, and the Threader constructs a connected 'graph' of messages
        Parameters:
        messages - iterable of messages to thread, must not be empty
        Returns:
        null if messages == null or root.child == null or messages list is empty
        Since:
        3.0
      • thread

        public Threadable thread​(java.util.List<? extends Threadable> messages)
        The client passes in a list of Threadable objects, and the Threader constructs a connected 'graph' of messages
        Parameters:
        messages - list of messages to thread, must not be empty
        Returns:
        null if messages == null or root.child == null or messages list is empty
        Since:
        2.2
      • thread

        @Deprecated
        public Threadable thread​(Threadable[] messages)
        Deprecated.
        (2.2) prefer thread(List)
        The client passes in an array of Threadable objects, and the Threader constructs a connected 'graph' of messages
        Parameters:
        messages - array of messages to thread, must not be empty
        Returns:
        null if messages == null or root.child == null or messages array is empty