Example usage for com.google.common.base Optional transform

List of usage examples for com.google.common.base Optional transform

Introduction

In this page you can find the example usage for com.google.common.base Optional transform.

Prototype

public abstract <V> Optional<V> transform(Function<? super T, V> function);

Source Link

Document

If the instance is present, it is transformed with the given Function ; otherwise, Optional#absent is returned.

Usage

From source file:org.immutables.fixture.routine.Routines.java

public static <T> Optional<List<T>> immutableCopyOf(Optional<? extends List<T>> list) {
    return list.transform(ImmutableList::copyOf);
}

From source file:com.qcadoo.commons.functional.Optionals.java

public static <F, T> Optional<T> flatMap(final Optional<F> optValue, final Function<F, Optional<T>> f) {
    return optValue.transform(f).or(Optional.<T>absent());
}

From source file:uk.org.lidalia.lang.Exceptions.java

static String throwableToString(String classAndMessage, Optional<Throwable> cause) {
    return classAndMessage + cause.transform(new Function<Throwable, String>() {
        @Override/*from  ww w . j a  va  2s.  c  om*/
        public String apply(Throwable input) {
            return lineSeparator() + CAUSED_BY + input;
        }
    }).or("");
}

From source file:org.apache.aurora.scheduler.SchedulerModule.java

@VisibleForTesting
static TierConfig parseTierConfig(Optional<String> config) {
    Optional<TierConfig> map = config.transform(input -> {
        try {/*from   w  w  w .  j a  v a2  s.c om*/
            return new ObjectMapper().readValue(input, TierConfig.class);
        } catch (IOException e) {
            LOG.error("Error parsing tier configuration file.");
            throw Throwables.propagate(e);
        }
    });
    return map.or(TierConfig.EMPTY);
}

From source file:com.github.jeluard.guayaba.base.PartialFunctions.java

/**
 * @param <I>/*from  w  w w .  j a va2  s .c om*/
 * @param <O>
 * @param <PF>
 * @param function
 * @param input
 * @return result of execution of optional {@link Function}
 */
public static <I, O, PF extends PartialFunction<I, ? extends O>> Optional<? extends O> transform(
        final Optional<PF> function, final I input) {
    return Optionals.flatten(function.transform(new Function<PF, Optional<O>>() {
        @Override
        public Optional<O> apply(final PF input2) {
            return Optional.fromNullable(input2.apply(input));
        }
    }));
}

From source file:darwin.resourcehandling.dependencies.ResourceInjector.java

@SuppressWarnings("nullness")
public static Optional<ResourceFromHandle<Object>> getHandleFactory(Class c, final String[] options) {
    Optional<ResourceFromHandleProvider> o = Optional.fromNullable(handleProvider.get(c));
    return o.transform(new Function<ResourceFromHandleProvider, ResourceFromHandle<Object>>() {
        @Override/*from   w w  w  . j  a v  a2 s.  c o m*/
        public ResourceFromHandle apply(ResourceFromHandleProvider input) {
            return input.get(options);
        }
    });
}

From source file:darwin.resourcehandling.dependencies.ResourceInjector.java

@SuppressWarnings("nullness")
public static Optional<ResourceFromBundle<Object>> getBundleFactory(Class c) {
    Optional<ResourceFromBundleProvider> o = Optional.fromNullable(bundleProvider.get(c));
    return o.transform(new Function<ResourceFromBundleProvider, ResourceFromBundle<Object>>() {
        @Override/* w  w  w. j a v  a2  s .c o  m*/
        public ResourceFromBundle apply(ResourceFromBundleProvider input) {
            //generic bullshit
            return ((ResourceFromBundleProvider<?>) input).get();
        }
    });
}

From source file:com.qcadoo.mes.deviationCausesReporting.DeviationsReportCriteria.java

public static DeviationsReportCriteria forDates(final DateTime fromDate, final Optional<DateTime> maybeToDate) {
    checkArguments(fromDate, maybeToDate);
    LocalDate fromLocalDate = fromDate.toLocalDate();
    Optional<LocalDate> maybeToLocalDate = maybeToDate.transform(new Function<DateTime, LocalDate>() {

        @Override//  w  ww . j av  a  2 s  .  c om
        public LocalDate apply(final DateTime input) {
            return input.toLocalDate();
        }
    });
    return fromLocalDates(fromLocalDate, maybeToLocalDate);
}

From source file:org.apache.gobblin.instrumented.Instrumented.java

/**
 * Ends a {@link com.codahale.metrics.Timer.Context} only if it exists.
 * @param timer an Optional&lt;{@link com.codahale.metrics.Timer.Context}$gt;
 *//*  w  ww .  j  av a 2  s.  co  m*/
public static void endTimer(Optional<Timer.Context> timer) {
    timer.transform(new Function<Timer.Context, Timer.Context>() {
        @Override
        public Timer.Context apply(@Nonnull Timer.Context input) {
            input.close();
            return input;
        }
    });
}

From source file:org.apache.gobblin.instrumented.Instrumented.java

/**
 * Marks a meter only if it is defined.//from   w  w w.ja  v  a  2s .  co m
 * @param meter an Optional&lt;{@link com.codahale.metrics.Meter}&gt;
 * @param value value to mark
 */
public static void markMeter(Optional<Meter> meter, final long value) {
    meter.transform(new Function<Meter, Meter>() {
        @Override
        public Meter apply(@Nonnull Meter input) {
            input.mark(value);
            return input;
        }
    });
}