public class CommentChain<C extends Comment> extends Object implements Iterable<C>
comments. For example, consider the
following comments:
C1
C1-R1
C1-R2
C2
C2-R1
C2-R1-R1
C2-R2
C2-R2-R1
C2-R2-R1-R1
C2-R3
C3
new CommentChain(ImmutableList.of(c1, c2, c3)) would traverse the comments in the same order as reading
that tree from the top to the bottom:
C1 -> C1-R1 -> C1-R2 -> C2 -> C2-R1 -> C2-R1-R1 -> C2-R2 -> C2-R2-R1 -> C2-R2-R1-R1 -> C2-R3 -> C3
Notice that C2-R1-R1, the first reply to the first reply of the second comment, is traversed before C2-R2, the
second reply to the second comment.
Note: This class supports any subtype C of Comment, under the assumption that all
replies are consistently instances of C. Violating that assumption will
result in ClassCastExceptions when iterating through the chain.
| Modifier and Type | Method and Description |
|---|---|
Iterator<C> |
iterator() |
static <C extends Comment> |
of(Iterable<C> rootComments)
A convenience method for creating a new
chain from the provided comments. |
Stream<C> |
stream() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorpublic static <C extends Comment> CommentChain<C> of(@Nonnull Iterable<C> rootComments)
chain from the provided comments.C - an implementation of CommentrootComments - the comments to use when creating the chainCopyright © 2019 Atlassian. All rights reserved.