- All Implemented Interfaces:
Serializable,Comparable<AllenRelation>,Constable
IntervalJoinNode.
Each constant describes the temporal relationship between a left interval
[ℓ.start, ℓ.end) and a right interval [r.start, r.end), using
half-open intervals.
The thirteen base relations of Allen's algebra form seven converse pairs
(with EQUALS as its own converse): for every relation X there
is a converse X_BY such that ℓ X r iff r X_BY ℓ. Stating
the converse explicitly lets you keep the left and right inputs in their natural
order rather than swapping them. Beyond the thirteen, INTERSECTS is a
convenience superset (any shared time) that is not one of Allen's base
relations.
Semantics. All thirteen base relations use strict endpoint bounds
(Allen 1983), so they are mutually exclusive and jointly exhaustive — any pair
of intervals stands in exactly one of them. Shared-boundary cases are named by
their own relation (STARTS, FINISHES, EQUALS) rather
than folded into DURING/CONTAINS. The only overlap is the
convenience INTERSECTS, which by construction subsumes every relation
that shares any time.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionLeft interval strictly contains the right (both endpoints interior; converse ofDURING):ℓ.start < r.start ∧ r.end < ℓ.end.Left interval is strictly inside the right (both endpoints interior):r.start < ℓ.start ∧ ℓ.end < r.end.The intervals are identical:ℓ.start = r.start ∧ ℓ.end = r.end.Both intervals finish together and right starts later (converse ofFINISHES):ℓ.end = r.end ∧ ℓ.start < r.start.Both intervals finish together and left starts later:ℓ.end = r.end ∧ r.start < ℓ.start.Intervals overlap in some time:ℓ.start < r.end ∧ r.start < ℓ.end(symmetric — left and right are interchangeable for this test).Left ends exactly where right begins (adjacent, no gap):ℓ.end = r.start.Left begins exactly where right ends (adjacent, no gap; converse ofMEETS):ℓ.start = r.end.Right starts before left and ends within it (converse ofOVERLAPS):r.start < ℓ.start ∧ r.end > ℓ.start ∧ r.end < ℓ.end.Left starts before right and ends within it:ℓ.start < r.start ∧ ℓ.end > r.start ∧ ℓ.end < r.end.Left begins after right ends (converse ofPRECEDES):ℓ.start > r.end.Left ends before right begins:ℓ.end < r.start.Both intervals start together and right finishes first (converse ofSTARTS):ℓ.start = r.start ∧ r.end < ℓ.end.Both intervals start together and left finishes first:ℓ.start = r.start ∧ ℓ.end < r.end. -
Method Summary
Modifier and TypeMethodDescriptionstatic AllenRelationReturns the enum constant of this class with the specified name.static AllenRelation[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
INTERSECTS
Intervals overlap in some time:ℓ.start < r.end ∧ r.start < ℓ.end(symmetric — left and right are interchangeable for this test). A convenience superset; not one of Allen's thirteen base relations. -
OVERLAPS
Left starts before right and ends within it:ℓ.start < r.start ∧ ℓ.end > r.start ∧ ℓ.end < r.end. Converse ofOVERLAPPED_BY. -
OVERLAPPED_BY
Right starts before left and ends within it (converse ofOVERLAPS):r.start < ℓ.start ∧ r.end > ℓ.start ∧ r.end < ℓ.end. -
DURING
Left interval is strictly inside the right (both endpoints interior):r.start < ℓ.start ∧ ℓ.end < r.end. Converse ofCONTAINS. -
CONTAINS
Left interval strictly contains the right (both endpoints interior; converse ofDURING):ℓ.start < r.start ∧ r.end < ℓ.end. -
STARTS
Both intervals start together and left finishes first:ℓ.start = r.start ∧ ℓ.end < r.end. Converse ofSTARTED_BY. -
STARTED_BY
Both intervals start together and right finishes first (converse ofSTARTS):ℓ.start = r.start ∧ r.end < ℓ.end. -
FINISHES
Both intervals finish together and left starts later:ℓ.end = r.end ∧ r.start < ℓ.start. Converse ofFINISHED_BY. -
FINISHED_BY
Both intervals finish together and right starts later (converse ofFINISHES):ℓ.end = r.end ∧ ℓ.start < r.start. -
EQUALS
The intervals are identical:ℓ.start = r.start ∧ ℓ.end = r.end. Self-converse. -
MEETS
Left ends exactly where right begins (adjacent, no gap):ℓ.end = r.start. Converse ofMET_BY. -
MET_BY
Left begins exactly where right ends (adjacent, no gap; converse ofMEETS):ℓ.start = r.end. -
PRECEDES
Left ends before right begins:ℓ.end < r.start. Converse ofPRECEDED_BY. -
PRECEDED_BY
Left begins after right ends (converse ofPRECEDES):ℓ.start > r.end.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-