Example usage for com.google.common.base Converter Converter

List of usage examples for com.google.common.base Converter Converter

Introduction

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

Prototype

protected Converter() 

Source Link

Document

Constructor for use by subclasses.

Usage

From source file:be.nbb.demetra.dotstat.DotStatAccessor.java

static Converter<DbSetId, Key> getConverter(DataStructure ds, DbSetId ref) {
    final Map<String, Dimension> dimensionById = dimensionById(ds);
    final DbSetIdBuilder builder = new DbSetIdBuilder(dimensionById, ref);
    return new Converter<DbSetId, Key>() {
        @Override/*from w  ww. jav a 2s  . c o  m*/
        protected Key doForward(DbSetId a) {
            return getKey(dimensionById, a);
        }

        @Override
        protected DbSetId doBackward(Key b) {
            return builder.getId(b);
        }
    };
}

From source file:com.ibm.common.activitystreams.util.Converters.java

/**
 * Method stringConverter.//from  ww w .  j  av  a  2s  . c om
 * @param enumClass Class<E>
 * @param or E
 * @return Converter<String,E>
 */
public static <E extends Enum<E>> Converter<String, E> stringConverter(final Class<E> enumClass, final E or) {
    return new Converter<String, E>() {

        @Override
        protected String doBackward(E e) {
            return checkNotNull(e).name();
        }

        @Override
        protected E doForward(String s) {
            return getIfPresent(enumClass, s).or(or);
        }

    };
}

From source file:org.spf4j.jmx.OpenTypeConverter.java

/**
 *
 * @param type//w  w  w  . j ava 2  s .  c om
 * @return Converter
 * @throws OpenDataException
 */
public static Converter<Object, Object> getConverter(final Class<?> type) throws OpenDataException {

    if (org.spf4j.base.Runtime.JAVA_PLATFORM == Version.V1_6) {

        if (Enum.class.isAssignableFrom(type)) {
            return new Converter<Object, Object>() {

                @Override
                protected Object doForward(final Object a) {
                    return Enum.valueOf((Class) type, (String) a);
                }

                @Override
                protected Object doBackward(final Object b) {
                    return b.toString();
                }
            };
        } else {
            final Object conv = getOpenConverter(type);

            return new Converter<Object, Object>() {

                @Override
                protected Object doForward(final Object a) {
                    return openConverterFromOpenValue(conv, a);
                }

                @Override
                protected Object doBackward(final Object b) {
                    return openConverterToOpenValue(conv, b);
                }
            };
        }
    } else if (org.spf4j.base.Runtime.JAVA_PLATFORM.ordinal() >= Version.V1_7.ordinal()) {
        final Object mapping = getMXBeanMapping(type);
        return new Converter<Object, Object>() {

            @Override
            protected Object doForward(final Object a) {
                try {
                    return JMX17P.MAPPING_FROM_OPEN_VALUE.invoke(mapping, a);
                } catch (IllegalAccessException ex) {
                    throw new RuntimeException(ex);
                } catch (IllegalArgumentException ex) {
                    throw new RuntimeException(ex);
                } catch (InvocationTargetException ex) {
                    throw new RuntimeException(ex);
                }
            }

            @Override
            protected Object doBackward(final Object b) {
                try {
                    return JMX17P.MAPPING_TO_OPEN_VALUE.invoke(mapping, b);
                } catch (IllegalAccessException ex) {
                    throw new RuntimeException(ex);
                } catch (IllegalArgumentException ex) {
                    throw new RuntimeException(ex);
                } catch (InvocationTargetException ex) {
                    throw new RuntimeException(ex);
                }
            }
        };
    } else {
        throw new RuntimeException("Unsupported JVM runtime" + org.spf4j.base.Runtime.JAVA_PLATFORM);
    }

}

From source file:com.ibm.common.activitystreams.util.Converters.java

/**
 * Method toLowerConverter./*from  w  ww  .j  ava 2s .  c  om*/
 * @param locale Locale
 * @return Converter<String,String>
 */
public static Converter<String, String> toLowerConverter(final Locale locale) {
    return new Converter<String, String>() {

        @Override
        protected String doForward(String a) {
            return a.toLowerCase(locale);
        }

        @Override
        protected String doBackward(String b) {
            return b.toUpperCase(locale);
        }

    };
}

From source file:com.google.template.soy.TemplateMetadataSerializer.java

private static <T1 extends Enum<T1>, T2 extends Enum<T2>> Converter<T1, T2> createEnumConverter(
        final Class<T1> t1, final Class<T2> t2) {
    Map<String, T1> t1NameMap = new HashMap<>();
    for (T1 instance : t1.getEnumConstants()) {
        t1NameMap.put(instance.name(), instance);
    }/*from  ww  w  .ja v  a2 s  .c o m*/
    final EnumMap<T1, T2> forwardMap = new EnumMap<>(t1);
    final EnumMap<T2, T1> backwardMap = new EnumMap<>(t2);
    for (T2 t2Instance : t2.getEnumConstants()) {
        T1 t1Instance = t1NameMap.remove(t2Instance.name());
        if (t1Instance != null) {
            forwardMap.put(t1Instance, t2Instance);
            backwardMap.put(t2Instance, t1Instance);
        }
    }
    return new Converter<T1, T2>() {
        @Override
        protected T2 doForward(T1 a) {
            T2 r = forwardMap.get(a);
            if (r == null) {
                throw new IllegalArgumentException("Failed to map: " + a + " to an instance of " + t2);
            }
            return r;
        }

        @Override
        protected T1 doBackward(T2 b) {
            T1 r = backwardMap.get(b);
            if (r == null) {
                throw new IllegalArgumentException("Failed to map: " + b + " to an instance of " + t1);
            }
            return r;
        }
    };
}