2 * Rhynodge main definitions.
4 * A {@link net.pterodactylus.rhynodge.Reaction} consists of three different
5 * elements: a {@link net.pterodactylus.rhynodge.Query}, a
6 * {@link net.pterodactylus.rhynodge.Merger}, and an
7 * {@link net.pterodactylus.rhynodge.Action}.
9 * A {@code Query} retrieves the current state of a system; this can simply be
10 * the current state of a local file, or it can be the last tweet of a certain
11 * Twitter account, or it can be anything inbetween, or something completely
14 * After a {@code Query} retrieved the current
15 * {@link net.pterodactylus.rhynodge.State} of a system, this state and the
16 * previously retrieved state are handed in to a {@code Merger}. The merger
17 * takes care of merging the two states in a way that the new state can
18 * {@link net.pterodactylus.rhynodge.State#triggered() decide} whether a
19 * noteworthy change has occured.
21 * If a system has been found to trigger, an {@code Action} is executed. It
22 * performs arbitrary actions and can use both the current state and the
23 * previous state to define that action.
26 package net.pterodactylus.rhynodge;