Synthia
Generic and flexible data structure generator
Replace.java
Go to the documentation of this file.
1 package ca.uqac.lif.synthia.util;
2 
3 import ca.uqac.lif.synthia.Picker;
4 
5 /**
6  *
7  * @author Sylvain HallĂ©
8  *
9  * @param <T>
10  * @ingroup API
11  */
12 public class Replace<T> extends Mutator<T>
13 {
15 
16  public Replace(Picker<? extends T> picker, Picker<? extends T> replacement)
17  {
18  super(picker);
19  m_replacement = replacement;
20  }
21 
22  @Override
23  public void reset()
24  {
25  super.reset();
27  }
28 
29  @Override
30  public T pick()
31  {
32  return m_replacement.pick();
33  }
34 
35  @Override
36  public Replace<T> duplicate(boolean with_state)
37  {
38  return new Replace<T>(m_picker.duplicate(with_state), m_replacement.duplicate(with_state));
39  }
40 }
ca.uqac.lif.synthia.Picker
Picks an object.
Definition: Picker.java:36
ca.uqac.lif.synthia.util.Mutator.m_picker
Picker<? extends T > m_picker
The underlying picker producing the values to transform.
Definition: Mutator.java:38
ca.uqac.lif.synthia.util.Replace.pick
T pick()
Picks an object.
Definition: Replace.java:30
ca.uqac.lif.synthia.util.Replace.m_replacement
Picker<? extends T > m_replacement
Definition: Replace.java:14
ca.uqac
ca.uqac.lif.synthia
Definition: Bounded.java:19
ca.uqac.lif.synthia.util.Replace
Definition: Replace.java:12
ca.uqac.lif
ca
ca.uqac.lif.synthia.Picker.pick
T pick()
Picks an object.
ca.uqac.lif.synthia.util.Replace.Replace
Replace(Picker<? extends T > picker, Picker<? extends T > replacement)
Definition: Replace.java:16
ca.uqac.lif.synthia.util.Mutator
A picker that applies a transformation ("mutation") on the value produced by another picker.
Definition: Mutator.java:33
ca.uqac.lif.synthia.util.Replace.duplicate
Replace< T > duplicate(boolean with_state)
Creates a copy of the picker.
Definition: Replace.java:36
ca.uqac.lif.synthia.Picker.duplicate
Picker< T > duplicate(boolean with_state)
Creates a copy of the picker.
ca.uqac.lif.synthia.Picker.reset
void reset()
Puts the picker back into its initial state.
ca.uqac.lif.synthia.util.Replace.reset
void reset()
Puts the picker back into its initial state.
Definition: Replace.java:23