Skip to content

Instantly share code, notes, and snippets.

@sbespalov
Created October 3, 2021 05:17
Show Gist options
  • Save sbespalov/c9bab7f3d3fcdb74113638431116c02b to your computer and use it in GitHub Desktop.
Save sbespalov/c9bab7f3d3fcdb74113638431116c02b to your computer and use it in GitHub Desktop.
jdeferred example
import java.util.Arrays;
import org.jdeferred2.Deferred;
import org.jdeferred2.DonePipe;
import org.jdeferred2.Promise;
import org.jdeferred2.impl.DeferredObject;
public class SimpleParser
{
private final Deferred<String[], String, String> deferred = new DeferredObject<>();
public Promise<String[], String, String> parse(String source)
{
if (source.contains(" "))
{
return deferred.reject("Spaces not allowed.");
}
return deferred.resolve(source.split(","));
}
public static void main(String[] args)
{
new SimpleParser().parse("a,b,c")
.fail(System.out::println)
.pipe((DonePipe<String[], String, String, String>) result -> new DeferredObject<String, String, String>().resolve(Arrays.toString(result)))
.then(System.out::println);
new SimpleParser().parse("a, b,c")
.fail(System.out::println)
.done(Arrays::toString)
.then(System.out::println);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment