org.reactfx.EmitOnStream Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of richtextfx Show documentation
Show all versions of richtextfx Show documentation
FX-Text-Area for formatted text and other special effects.
package org.reactfx;
/**
* @see org.reactfx.EventStream#emitOn(EventStream)
*/
class EmitOnStream extends EventStreamBase {
private final EventStream source;
private final EventStream> impulse;
private boolean hasValue = false;
private T value = null;
public EmitOnStream(EventStream source, EventStream> impulse) {
this.source = source;
this.impulse = impulse;
}
@Override
protected Subscription observeInputs() {
Subscription s1 = source.subscribe(v -> {
hasValue = true;
value = v;
});
Subscription s2 = impulse.subscribe(i -> {
if(hasValue) {
T val = value;
hasValue = false;
value = null;
emit(val);
}
});
return s1.and(s2);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy