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

jedi.example.MultipleOptionsExample Maven / Gradle / Ivy

There is a newer version: 3.0.5
Show newest version
package jedi.example;

import jedi.annotation.JediFunctor;
import jedi.option.Option;
import jedi.option.Options;

import static jedi.example.MultipleOptionsExampleStaticClosureFactory.addProxyFunctor2;
import static jedi.functional.FunctionalPrimitives.append;
import static jedi.functional.FunctionalPrimitives.fold;
import static jedi.option.Options.option;

public class MultipleOptionsExample {

    public void runExamples() {
        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 excluding Nones
        for (String v : append(x, y, z, Options.none())) System.out.println(v);

        // Fold excluding Nones, eg concatenate them:
        System.out.println(fold("Concatenate: ", append(x, y, z), addProxyFunctor2(this)));
    }

    @JediFunctor
    public String add(String a, String b) {
        return a + b;
    }

    public static void main(String[] args) {
        new MultipleOptionsExample().runExamples();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy