org.osgi.util.converter

## Interface Converting

All Superinterfaces:
  Specifying<Converting>

    @ProviderType
    public interface Converting
    extends Specifying<Converting>

This interface is used to specify the target that an object should be converted to. A `Converting` instance can be obtained via the `Converter`.

Author:
  $Id$

### Method Summary

All Methods Instance Methods Abstract Methods
`<T> T` `to(Class<T> cls)` Specify the target object type for the conversion as a class object.
`<T> T` `to(Type type)` Specify the target object type as a Java Reflection Type object.
`<T> T` `to(TypeReference<T> ref)` Specify the target object type as a `TypeReference`.

### Methods inherited from interface org.osgi.util.converter.Specifying

`defaultValue, keysIgnoreCase, sourceAs, sourceAsBean, sourceAsDTO, targetAs, targetAsBean, targetAsDTO, view`

### Method Detail

#### to

    <T> T to(Class<T> cls)

Specify the target object type for the conversion as a class object.

Type Parameters:
  `T` - The type to convert to.
Parameters:
  `cls` - The class to convert to.
Returns:
  The converted object.

#### to

    <T> T to(Type type)

Specify the target object type as a Java Reflection Type object.

Type Parameters:
  `T` - The type to convert to.
Parameters:
  `type` - A Type object to represent the target type to be converted to.
Returns:
  The converted object.

#### to

    <T> T to(TypeReference<T> ref)

Specify the target object type as a `TypeReference`. If the target class carries generics information a TypeReference should be used as this preserves the generic information whereas a Class object has this information erased. Example use:

     List<String> result = converter.convert(Arrays.asList(1, 2, 3))
                    .to(new TypeReference<List<String>>() {});

Type Parameters:
  `T` - The type to convert to.
Parameters:
  `ref` - A type reference to the object being converted to.
Returns:
  The converted object.