Class DataDrivenTemplateIterator
-
- org.thymeleaf.engine.DataDrivenTemplateIterator
-
- All Implemented Interfaces:
<>
public final class DataDrivenTemplateIterator extends implements <>
Throttled implementation of , meant to be queried in scenarios when an iterated context variable is allowed to be in control of the engine's throttling (i.e. the engine's execution is data-driven).
A common scenario for this would be reactive systems executing the template engine as a part of a flow obtaining data from a data source, so that as the data is obtained, a part of the template is output containing that part of the data.
This class is meant for internal use only from the diverse integrations of Thymeleaf in reactive architectures. There is normally no reason why a user would have to use this class directly.
- Since:
- 3.0.0
- Author:
- Daniel Fernández
-
-
Constructor Summary
Constructors Constructor Description DataDrivenTemplateIterator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
continueBufferExecution()
void
<> newElements)
void
feedingComplete()
void
finishIteration()
void
finishStep()
boolean
hasBeenQueried()
boolean
hasNext()
boolean
isStepOutputFinished()
next()
void
remove()
void
setSseEventsFirstID(long sseEventsFirstID)
void
sseEventsPrefix)
void
setWriterControl(IThrottledTemplateWriterControl writerControl)
void
startHead()
void
startIteration()
void
startTail()
void
takeBackLastEventID()
-
-
-
Method Detail
-
setWriterControl
public void setWriterControl(IThrottledTemplateWriterControl writerControl)
-
setSseEventsPrefix
public void setSseEventsPrefix( sseEventsPrefix)
-
setSseEventsFirstID
public void setSseEventsFirstID(long sseEventsFirstID)
-
takeBackLastEventID
public void takeBackLastEventID()
-
hasNext
public boolean hasNext()
- Specified by:
in interface
<>
-
next
public next()
- Specified by:
in interface
<>
-
startIteration
public void startIteration()
-
finishIteration
public void finishIteration()
-
hasBeenQueried
public boolean hasBeenQueried()
Returns whether this data driven iterator has been actually queried, i.e., whether its
hasNext()
ornext()
methods have been called at least once.This indicates if the template has actually reached a point at which this iterator has been already needed or not. The typical use of this is to be able to switch between the "head" and the "data/buffer" phase.
- Returns:
true
if this iterator has been queried,false
if not.- Since:
- 3.0.3
-
remove
public void remove()
- Specified by:
in interface
<>
-
continueBufferExecution
public boolean continueBufferExecution()
-
feedBuffer
public void feedBuffer(<> newElements)
-
startHead
public void startHead()
-
feedingComplete
public void feedingComplete()
-
startTail
public void startTail()
-
finishStep
public void finishStep()
-
isStepOutputFinished
public boolean isStepOutputFinished()
-
-