Class TextForEachAdapter


public class TextForEachAdapter extends Object
The TextForEachAdapter can be used to format text fragments with the 'for-each' tag. The adapter will iterate over the value list of a specified item.
 <for-each item="_partid">
  Order-No: <itemvalue>_orderid</itemvalue> - Part ID: <itemvalue>_partid</itemvalue><br />
In this example, the for-each block will be executed for each single value of the item '_partid'. Within the for-each block it is possible to access the current value of the iteration as also any other values of the current document. The result may look like in the following example:

 Order-No: 111222 - Part ID: A123
 Order-No: 111222 - Part ID: B456

In case the item contains an embedded list of child ItemCollections the content of the for-each block will be processed in the context for each embedded ItemCollection:

  <for-each item="_orderitems">
    <itemvalue>_orderid</itemvalue>: <itemvalue>_price</itemvalue>

The result may look like in the following example:

 Order ID: A123: 50.55
 Order ID: B456: 150.10
  • Field Details

    • textEvents

      @Inject protected jakarta.enterprise.event.Event<TextEvent> textEvents
  • Constructor Details

    • TextForEachAdapter

      public TextForEachAdapter()
  • Method Details

    • onEvent

      public void onEvent(@Observes @Priority(1990) TextEvent event)
      This method reacts on CDI events of the type TextEvent and parses a string for xml tag <for-each>. Those tags will be replaced with the corresponding system property value.

      The priority of the CDI event is set to (APPLICATION-10) to ensure that the for-each adapter is triggered before the TextItemValueAdapter