Code Examples
A repository of 155 code examples for BeepBeep
MapPutInto.java
1 /*
2  BeepBeep, an event stream processor
3  Copyright (C) 2008-2018 Sylvain HallĂ©
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published
7  by the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 package util;
19 
20 import ca.uqac.lif.cep.Connector;
21 import ca.uqac.lif.cep.Pullable;
22 import ca.uqac.lif.cep.tmf.QueueSource;
23 import ca.uqac.lif.cep.util.Maps;
24 
25 /**
26  * Use the {@link ca.uqac.lif.cep.util.Maps.PutInto PutInto} processor
27  * to update a map from two input streams.
28  * <p>
29  * The output of this program is:
30  * <pre>
31  * {foo=1}
32  * {bar=abc, foo=1}
33  * {bar=abc, foo=def}
34  * {bar=abc, foo=def, baz=6}
35  * </pre>
36  * @author Sylvain HallĂ©
37  */
38 public class MapPutInto
39 {
40  public static void main(String[] args)
41  {
42  ///
43  QueueSource keys = new QueueSource()
44  .setEvents("foo", "bar", "foo", "baz");
45  QueueSource values = new QueueSource()
46  .setEvents(1, "abc", "def", 6);
47  Maps.PutInto put = new Maps.PutInto();
48  Connector.connect(keys, 0, put, 0);
49  Connector.connect(values, 0, put, 1);
50  Pullable p = put.getPullableOutput();
51  for (int i = 0; i < 4; i++)
52  {
53  System.out.println(p.pull());
54  }
55  ///
56  }
57 }
Use the PutInto processor to update a map from two input streams.
Definition: MapPutInto.java:38