[[HowtodefineastaticCamelconvertermethodinScala-HowtodefineastaticCamelconvertermethodinScala]]
=== How to define a static Camel converter method in Scala?

When you use Scala object you can define the static method for others to
use. Scala will create a class which implements the singleton pattern
for that class object.

If the object name is `A`, you can find the singleton class name with `A$`.
Using `javap` to recompile the class `A` and `A$`, you will find `A` has bunch
of static method, and `A$` doesn't have any of them. If you specify the
converter class package name in
`META-INF/service/org/apache/camel/TypeConverter`, Camel will load the
class `A` and `A$` at the same time. As the `A$` construction method is not
supposed to be invoked, Camel will complain that he cannot load the
converter method which you are supposed to use because he can't create
an instance of `A$`.

To avoid this kind of error, we need to specify the full class name of `A`
in the `TypeConverter` to let Camel load the converter directly.
