    001package com.hammurapi.convert;
    002
    003import java.util.concurrent.Future;
    004
    005import com.hammurapi.common.Context;
    006
    007public class FutureConverterPart implements ConverterPart {
    008
    009        @Override
    010        public <S, T> T convert(S source, Class<T> targetType, Context context, Converter master) throws ConversionException {
    011                if (source instanceof Future) {
    012                        try {
    013                                Object value = ((Future) source).get();
    014                                return master.convert(value, targetType, context);
    015                        } catch (Exception e) {
    016                                throw new ConversionException(e);
    017                        }
    018
    019                }
    020                return null;
    021        }
    022
    023}