Code Examples
A repository of 155 code examples for BeepBeep
Stuttering.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 customprocessors;
19 
20 import java.util.Queue;
21 
22 import ca.uqac.lif.cep.*;
23 import ca.uqac.lif.cep.tmf.QueueSource;
24 
25 public class Stuttering extends SynchronousProcessor
26 {
27  public Stuttering()
28  {
29  super(1, 1);
30  }
31 
32  @Override
33  public boolean compute(Object[] inputs, Queue<Object[]> outputs)
34  {
35  System.out.println("Call to compute");
36  Number n = (Number) inputs[0];
37  for (int i = 0; i < n.intValue(); i++)
38  {
39  outputs.add(new Object[] {inputs[0]});
40  }
41  return true;
42  }
43 
44  @Override
45  public Stuttering duplicate(boolean with_state)
46  {
47  return new Stuttering();
48  }
49 
50  public static void main(String[] args)
51  {
52  ///
53  QueueSource src = new QueueSource();
54  src.setEvents(1, 2, 1);
55  Stuttering s = new Stuttering();
56  Connector.connect(src, s);
57  Pullable p = s.getPullableOutput();
58  for (int i = 0; i < 4; i++)
59  {
60  System.out.println("Call to pull: " + p.pull());
61  }
62  ///
63  }
64 }