Class ObjectConverters

    • Method Detail

      • identity

        public static <T> ObjectConverter<T,​T> identity​(Class<T> type)
        Returns an identity converter for objects of the given type.
        Type Parameters:
        T - the object type.
        Parameters:
        type - the object type.
        Returns:
        an identity converter for objects of the given type.
      • find

        public static <S,​T> ObjectConverter<? super S,​? extends T> find​(Class<S> source,
                                                                                    Class<T> target)
                                                                             throws UnconvertibleObjectException
        Returns a converter for the specified source and target classes.
        Type Parameters:
        S - the source class.
        T - the target class.
        Parameters:
        source - the source class.
        target - the target class, or Object​.class for any.
        Returns:
        the converter from the specified source class to the target class.
        Throws:
        Unconvertible­Object­Exception - if no converter is found.
      • convert

        public static <T> T convert​(Object value,
                                    Class<T> target)
                             throws UnconvertibleObjectException
        Converts the given value to the given type. This convenience method shall be used only for rare conversions. For converting many instances between the same source and target classes, consider invoking find(Class, Class) instead in order to reuse the same converter for all values to convert.
        Type Parameters:
        T - the type of the target class.
        Parameters:
        value - the value to convert, or null.
        target - the target class.
        Returns:
        the converted value (may be null).
        Throws:
        Unconvertible­Object­Exception - if the given value can not be converted.
      • derivedSet

        public static <S,​E> Set<E> derivedSet​(Set<S> storage,
                                                    ObjectConverter<S,​E> converter)
        Returns a set whose elements are derived on-the-fly from the given set. Conversions from the original elements to the derived elements are performed when needed by invoking the Object­Converter​.apply(Object) method on the given converter.

        This convenience method delegates to Containers​.derived­Set(…). See the javadoc of the above method for more information.

        Type Parameters:
        S - the type of elements in the storage (original) set.
        E - the type of elements in the derived set.
        Parameters:
        storage - the storage set containing the original elements, or null.
        converter - the converter from the elements in the storage set to the elements in the derived set.
        Returns:
        a view over the storage set containing all elements converted by the given converter, or null if storage was null.
        See Also:
        Containers​.derived­Set(Set, Object­Converter)
      • derivedMap

        public static <SK,​SV,​K,​V> Map<K,​V> derivedMap​(Map<SK,​SV> storage,
                                                                              ObjectConverter<SK,​K> keyConverter,
                                                                              ObjectConverter<SV,​V> valueConverter)
        Returns a map whose keys and values are derived on-the-fly from the given map. Conversions from the original entries to the derived entries are performed when needed by invoking the Object­Converter​.apply(Object) method on the given converters.

        This convenience method delegates to Containers​.derived­Map(…). See the javadoc of the above method for more information.

        Type Parameters:
        SK - the type of keys in the storage map.
        SV - the type of values in the storage map.
        K - the type of keys in the derived map.
        V - the type of values in the derived map.
        Parameters:
        storage - the storage map containing the original entries, or null.
        key­Converter - the converter from the keys in the storage map to the keys in the derived map.
        value­Converter - the converter from the values in the storage map to the values in the derived map.
        Returns:
        a view over the storage map containing all entries converted by the given converters, or null if storage was null.
        See Also:
        Containers​.derived­Map(Map, Object­Converter, Object­Converter)
      • derivedKeys

        public static <SK,​K,​V> Map<K,​V> derivedKeys​(Map<SK,​V> storage,
                                                                      ObjectConverter<SK,​K> keyConverter,
                                                                      Class<V> valueType)
        Returns a map whose keys are derived on-the-fly from the given map. Conversions from the original keys to the derived keys are performed when needed by invoking the Object­Converter​.apply(Object) method on the given converter.

        This convenience method delegates to Containers​.derived­Map(…). See the javadoc of the above method for more information.

        Type Parameters:
        SK - the type of keys in the storage map.
        K - the type of keys in the derived map.
        V - the type of values in the storage and derived map.
        Parameters:
        storage - the storage map containing the original entries, or null.
        key­Converter - the converter from the keys in the storage map to the keys in the derived map.
        value­Type - the type of values in the storage and derived map.
        Returns:
        a view over the storage map containing all entries with the keys converted by the given converter, or null if storage was null.
        See Also:
        Containers​.derived­Map(Map, Object­Converter, Object­Converter)
      • derivedValues

        public static <K,​SV,​V> Map<K,​V> derivedValues​(Map<K,​SV> storage,
                                                                        Class<K> keyType,
                                                                        ObjectConverter<SV,​V> valueConverter)
        Returns a map whose values are derived on-the-fly from the given map. Conversions from the original values to the derived values are performed when needed by invoking the Object­Converter​.apply(Object) method on the given converter.

        This convenience method delegates to Containers​.derived­Map(…). See the javadoc of the above method for more information.

        Type Parameters:
        K - the type of keys in the storage and derived map.
        SV - the type of values in the storage map.
        V - the type of values in the derived map.
        Parameters:
        storage - the storage map containing the original entries, or null.
        key­Type - the type of keys in the storage and derived map.
        value­Converter - the converter from the values in the storage map to the values in the derived map.
        Returns:
        a view over the storage map containing all entries with the values converted by the given converter, or null if storage was null.
        See Also:
        Containers​.derived­Map(Map, Object­Converter, Object­Converter)