Interface DiscriminatorEventService
-
- All Known Implementing Classes:
ConcreteDiscriminatorEventService
public interface DiscriminatorEventService
A service that supports creating and finding discriminator events.- Author:
- Carl Harris
-
-
Field Summary
Fields Modifier and Type Field Description static String
DISCRIMINATOR_FLAG_KEY
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description View.Event
findDiscriminatorEvent(View.Event triggerEvent, Iterator<View.Event> events)
Finds the first discriminator event in the given event stream, skipping any structures encountered while searching.DiscriminatorStrategy
findStrategy(ViewNode node, ScopedViewContext context)
Finds the appropriate discriminator strategy for the subject container node.boolean
isDiscriminatorNeeded(ContainerNode node)
Tests whether a node requires a discriminator.View.Event
newDiscriminatorEvent(ViewNode node, Class<?> subtype, ScopedViewContext context)
Creates a new discriminator event for the given node and subtype.
-
-
-
Field Detail
-
DISCRIMINATOR_FLAG_KEY
static final String DISCRIMINATOR_FLAG_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
isDiscriminatorNeeded
boolean isDiscriminatorNeeded(ContainerNode node)
Tests whether a node requires a discriminator.- Parameters:
node
- the subject node- Returns:
true
ifnode
requires a discriminator
-
newDiscriminatorEvent
View.Event newDiscriminatorEvent(ViewNode node, Class<?> subtype, ScopedViewContext context)
Creates a new discriminator event for the given node and subtype.- Parameters:
node
- the subject nodesubtype
- subtype represented by the nodecontext
- view context- Returns:
- discriminator event
-
findDiscriminatorEvent
View.Event findDiscriminatorEvent(View.Event triggerEvent, Iterator<View.Event> events)
Finds the first discriminator event in the given event stream, skipping any structures encountered while searching.- Parameters:
triggerEvent
-events
- stream of events to search- Returns:
- discriminator or
null
if not found
-
findStrategy
DiscriminatorStrategy findStrategy(ViewNode node, ScopedViewContext context)
Finds the appropriate discriminator strategy for the subject container node.- Parameters:
node
- subject nodecontext
- view context- Returns:
- discriminator strategy (never
null
)
-
-