Converters are DWR's means of marshaling data back and forth from the client to the server. There are many basic converters that are enabled by default, and it is also possible to create new converters.

Basic converters include converters for all primitive types, strings, and the following objects:

  • From java.lang package: Boolean, Byte, Short, Integer, Long, Float, Double, Character

  • From java.math package: BigInteger and BigDecimal

  • DateConverter for java.util.Date, and classes from java.sql package: Date, Times, and Timestamp

DWR also has converters for arrays (of all aforementioned objects), Java Beans and Objects, collections (Map and Collection), DOM objects, Enums, and others such as the Servlet objects and Hibernate beans.

The DWR API has a Converter interface that can be implemented for custom converters. This is not used very often because BeanConverter works for many custom objects if they are coded according to the JavaBean specification.