src/main/java/js/container/Container.java
private static void convertersInitialization(Config config) throws ConfigException {
		Config section = config.getChild("converters");
		if (section == null) {
			return;
		}
		for (Config el : section.findChildren("type")) {
			String className = el.getAttribute("class");
			Class<?> valueType = Classes.forOptionalName(className);
			if (valueType == null) {
				throw new ConfigException("Invalid converter configuration. Value type class |%s| not found.", className);
			}

			String converterName = el.getAttribute("converter");
			Class<? extends Converter> converterClass = Classes.forOptionalName(converterName);
			if (converterClass == null) {
				throw new ConfigException("Invalid converter configuration. Converter class |%s| not found.", converterName);
			}

			ConverterRegistry.getInstance().registerConverter(valueType, converterClass);
		}
	}
private static void convertersInitialization(Config config) throws ConfigException {
		Config section = config.getChild("converters");
		if (section == null) {
			return;
		}
		for (Config el : section.findChildren("type")) {
			String className = el.getAttribute("class");
			Class<?> valueType = Classes.forOptionalName(className);
			if (valueType == null) {
				throw new ConfigException("Invalid converter configuration. Value type class |%s| not found.", className);
			}

			String converterName = el.getAttribute("converter");
			Class<? extends Converter> converterClass = Classes.forOptionalName(converterName);
			if (converterClass == null) {
				throw new ConfigException("Invalid converter configuration. Converter class |%s| not found.", converterName);
			}

			ConverterRegistry.getInstance().registerConverter(valueType, converterClass);
		}
	}
private static void convertersInitialization ( Config config ) throws ConfigException { Config section = config . getChild ( "converters" ) ; if ( section == null ) { return ; } for ( Config el : section . findChildren ( "type" ) ) { String className = el . getAttribute ( "class" ) ; Class < ? > valueType = Classes . forOptionalName ( className ) ; if ( valueType == null ) { throw new ConfigException ( "Invalid converter configuration. Value type class |%s| not found." , className ) ; } String converterName = el . getAttribute ( "converter" ) ; Class < ? extends Converter > converterClass = Classes . forOptionalName ( converterName ) ; if ( converterClass == null ) { throw new ConfigException ( "Invalid converter configuration. Converter class |%s| not found." , converterName ) ; } ConverterRegistry . getInstance ( ) . registerConverter ( valueType , converterClass ) ; } }
Declarative converters registration. This utility scans for <code>converters</code> section into given configuration
object and register converters via {@link ConverterRegistry#registerConverter(Class, Class)}.
<p>
Configuration converter section should respect below syntax.

<pre>
&lt;converters&gt;
&lt;type class="java.io.File" converter="js.converter.FileConverter" /&gt;
&lt;type class="java.net.URL" converter="js.converter.UrlConverter" /&gt;
. . .
&lt;type class="java.util.TimeZone" converter="js.converter.TimeZoneConverter" /&gt;
&lt;/converters&gt;
</pre>

@param config configuration object.
@throws ConfigException if declared <code>class</code> or <code>converter</code> not found on run-time class path.
Declarative converters registration . This utility scans for <code > converters< / code > section into given configuration object and register converters via { @link ConverterRegistry#registerConverter ( Class Class ) } . <p > Configuration converter section should respect below syntax .