VR - The visual root node of the UI toolkit used, e.g.
javafx.scene.Node in case of JavaFX.public interface IFeedbackPartFactory<VR>
| Modifier and Type | Method and Description |
|---|---|
java.util.List<IFeedbackPart<VR,? extends VR>> |
createFeedbackParts(java.util.List<? extends IVisualPart<VR,? extends VR>> targets,
IBehavior<VR> contextBehavior,
java.util.Map<java.lang.Object,java.lang.Object> contextMap)
Creates specific
IFeedbackParts for the given targets. |
java.util.List<IFeedbackPart<VR,? extends VR>> createFeedbackParts(java.util.List<? extends IVisualPart<VR,? extends VR>> targets, IBehavior<VR> contextBehavior, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
IFeedbackParts for the given targets. As
additional information might be needed by the
IFeedbackPartFactory to identify the creation context, the
initiating contextBehavior is expected to pass in a reference to
itself as well as a contextMap.
The contextMap may either directly contain the additional information needed by the factory, or it may be used as a reference to identify the creation context, in case the factory needs to query back the initiating contextBehavior for such information.
This mechanism is needed because all IBehaviors are expected to
be stateless, so only the information within the contextMap will
allow the contextBehavior to identify the respective creation
context. A contract between a (concrete) IBehavior and a
(concrete) IFeedbackPartFactory that is based on such a query may
be realized as follows:
List createFeedbackParts(List targets, IBehavior contextBehavior,
Map<Object, Object> contextMap) {
if (contextBehavior instanceof ConcreteBehavior) {
SomeAdditionalInformation i = ((ConcreteBehavior) contextBehavior)
.giveSomeAdditionalInformation(contextMap);
...
}
}
targets - The target IVisualParts for which feedback is to be
created.contextBehavior - The context IBehavior which initiates the creation of
feedback.contextMap - A map in which the state-less context IBehavior) may
place additional context information for the creation process.
It may either directly contain additional information needed
by the IFeedbackPartFactory, or may be passed back by
the IFeedbackPartFactory to the calling context
IBehavior to query such kind of information (in which
case it will allow the context IBehavior to identify
the creation context).IFeedbackParts that are to be used to indicate
feedback for the given targets.Copyright (c) 2014 itemis AG and others. All rights reserved.