public class LinkList<L extends Link> extends java.lang.Object implements FilteredLinks<L>
| Modifier and Type | Method and Description |
|---|---|
FilteredLinks<L> |
filter(java.util.function.Predicate<? super L> predicate) |
void |
forEach(java.util.function.Consumer<? super L> action) |
L |
get(int index) |
java.util.List<L> |
getList() |
boolean |
isEmpty() |
<M extends Message> |
send(java.lang.Class<M> clazz)
send(Class, BiConsumer) without a data injector so no initial function is run
for messages. |
<M extends Message> |
send(java.lang.Class<M> clazz,
java.util.function.BiConsumer<M,L> dataInjector)
Send the specified message to all links in this list.
|
<M extends Message.Boolean> |
send(java.lang.Class<M> clazz,
boolean messageBody)
Send the specified message with single boolean field to all links in this list.
|
<M extends Message.Double> |
send(java.lang.Class<M> clazz,
double messageBody)
Send the specified message with single double field to all links in this list.
|
<M extends Message.Float> |
send(java.lang.Class<M> clazz,
float messageBody)
Send the specified message with single float field to all links in this list.
|
<M extends Message.Integer> |
send(java.lang.Class<M> clazz,
int messageBody)
Send the specified message with single int field to all links in this list.
|
<M extends Message.Long> |
send(java.lang.Class<M> clazz,
long messageBody)
Send the specified message with single long field to all links in this list.
|
<M extends Message.Object<T>,T> |
send(java.lang.Class<M> clazz,
T messageBody)
Send the specified message with single field to all links in this list.
|
<M extends OrderedMessage> |
sendOrdered(java.lang.Class<M> clazz) |
<M extends OrderedMessage> |
sendOrdered(java.lang.Class<M> clazz,
java.util.function.BiConsumer<M,L> dataInjector) |
<M extends OrderedMessage.Boolean> |
sendOrdered(java.lang.Class<M> clazz,
boolean messageBody) |
<M extends OrderedMessage.Double> |
sendOrdered(java.lang.Class<M> clazz,
double messageBody) |
<M extends OrderedMessage.Float> |
sendOrdered(java.lang.Class<M> clazz,
float messageBody) |
<M extends OrderedMessage.Integer> |
sendOrdered(java.lang.Class<M> clazz,
int messageBody) |
<M extends OrderedMessage.Long> |
sendOrdered(java.lang.Class<M> clazz,
long messageBody) |
<M extends OrderedMessage.Object<T>,T> |
sendOrdered(java.lang.Class<M> clazz,
T messageBody) |
int |
size() |
java.util.stream.Stream<L> |
stream() |
public FilteredLinks<L> filter(java.util.function.Predicate<? super L> predicate)
filter in interface FilteredLinks<L extends Link>public <M extends Message> void send(java.lang.Class<M> clazz)
send(Class, BiConsumer) without a data injector so no initial function is run
for messages.send in interface FilteredLinks<L extends Link>public <M extends Message> void send(java.lang.Class<M> clazz, java.util.function.BiConsumer<M,L> dataInjector)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.dataInjector - Function run when each message is created which can be used to set its
values using data from the link.public <M extends Message.Boolean> void send(java.lang.Class<M> clazz, boolean messageBody)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.Boolean.messageBody - Value for message body.public <M extends Message.Float> void send(java.lang.Class<M> clazz, float messageBody)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.Float.messageBody - Value for message body.public <M extends Message.Long> void send(java.lang.Class<M> clazz, long messageBody)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.Long.messageBody - Value for message body.public <M extends Message.Double> void send(java.lang.Class<M> clazz, double messageBody)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.Double.messageBody - Value for message body.public <M extends Message.Integer> void send(java.lang.Class<M> clazz, int messageBody)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.Object.messageBody - Value for message body.public <M extends Message.Object<T>,T> void send(java.lang.Class<M> clazz, T messageBody)
send in interface FilteredLinks<L extends Link>clazz - Class of message to send. Must be a message class extending Message.Boolean.messageBody - Value for message body.public <M extends OrderedMessage> void sendOrdered(java.lang.Class<M> clazz)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage> void sendOrdered(java.lang.Class<M> clazz, java.util.function.BiConsumer<M,L> dataInjector)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage.Boolean> void sendOrdered(java.lang.Class<M> clazz, boolean messageBody)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage.Float> void sendOrdered(java.lang.Class<M> clazz, float messageBody)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage.Long> void sendOrdered(java.lang.Class<M> clazz, long messageBody)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage.Double> void sendOrdered(java.lang.Class<M> clazz, double messageBody)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage.Integer> void sendOrdered(java.lang.Class<M> clazz, int messageBody)
sendOrdered in interface FilteredLinks<L extends Link>public <M extends OrderedMessage.Object<T>,T> void sendOrdered(java.lang.Class<M> clazz, T messageBody)
sendOrdered in interface FilteredLinks<L extends Link>public boolean isEmpty()
isEmpty in interface FilteredLinks<L extends Link>Collection.isEmpty()public java.util.stream.Stream<L> stream()
stream in interface FilteredLinks<L extends Link>public void forEach(java.util.function.Consumer<? super L> action)
forEach in interface FilteredLinks<L extends Link>public int size()
size in interface FilteredLinks<L extends Link>public L get(int index)
get in interface FilteredLinks<L extends Link>public java.util.List<L> getList()
getList in interface FilteredLinks<L extends Link>