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

src.samples.java.ex.OI_Sample Maven / Gradle / Ivy

package ex;

import java.util.Date;
import java.util.Optional;
import java.util.OptionalDouble;
import java.util.OptionalInt;
import java.util.function.Supplier;

public class OI_Sample implements OptInf386 {

    public String useDelayedExecution(Optional o, String a, String b) {

        return o.orElse(String.format("%s boo %s hiss", a, b));
    }

    public double useDelayedExecutionWithDouble(OptionalDouble o) {

        return o.orElse(Math.pow(Math.PI, Math.exp(Math.E)));
    }

    public String checkingOptionalReference(Optional o) {
        if (o == null) {
            return "";
        }

        return o.get();
    }

    public String useImmediateExecution(Optional o, final String a) {
        return o.orElseGet(() -> a);
    }

    public int useImmediateExecutionWithInt(OptionalInt o) {
        return o.orElseGet(() -> 0);
    }

    public Optional useWrongOptional(Optional d) {

        return Optional.of(3.14);
    }

    public Date orElseGetNull(Optional o) {
        return o.orElseGet(null);
    }

    public String fpDelayedOK(Optional o, String a, String b) {

        return o.orElseGet(() -> String.format("%s boo %s hiss", a, b));
    }

    public String fpImmediateOK(Optional o, final String a) {

        return o.orElse(a);
    }

    public String fpStringAppendingIsTooCommon(Optional o, final String a, final String b) {

        return o.orElse(a + b);
    }

    public Long fpBoxingIsTooCommon(Optional o) {
        return o.orElse(0L);
    }

    private Optional get(String name) {
        return Optional.of(null);
    }

    public String fpGet384(String parameterName, Supplier defaultValueSupplier) {
        return this.get(parameterName).orElseGet(defaultValueSupplier);
    }
    
    public boolean equalsToEmpty(Optional foo) {
    	return foo.equals(Optional.empty());
    }
    
    public 	Optional fpGetOpt386() {
    	return Optional.of(Double.valueOf(10));
    }
}

interface OptInf386 {
	Optional fpGetOpt386();
}