All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jedi.example.MultipleOptionsExample Maven / Gradle / Ivy

package jedi.example;

import jedi.functional.Functor2;
import jedi.option.Option;

import static jedi.functional.Coercions.list;
import static jedi.functional.FunctionalPrimitives.flatten;
import static jedi.functional.FunctionalPrimitives.fold;
import static jedi.option.Options.option;

public class MultipleOptionsExample {

    public static void main(String[] args) {
        Option x = option("Hi");
        Option y = option(" ");
        Option z = option("there");

        // use 'for' to work with values if they ALL exist
        for (String xv : x)
            for (String yv : y)
                for (String zv : z)
                    System.out.println("All values are something: " + xv + yv + zv);

        // iterate over all values of non-None options
        for (String v : flatten(list(x,y,z))) System.out.println(v);

        // or process all non-None options, eg concatenate them:
        System.out.println(
                fold("Concatenate: ", flatten(list(x, y, z)), new Appender()));
    }

    private static class Appender implements Functor2 {
        @Override
        public String execute(String s1, String s2) {
            return s1 + s2;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy