/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.upgrade.task.datasource.method;
import java.util.Map;
import com.google.common.collect.Maps;
public final class DataSourceMethodConverters
{
private final Map<String, DataSourceMethodConverter> map;
public DataSourceMethodConverters()
{
this.map = Maps.newHashMap();
add( new GetLocalesConverter() );
add( new GetTimeZonesConverter() );
add( new GetPreferencesConverter() );
add( new GetUserStoreConverter() );
add( new GetCountriesConverter() );
add( new GetCalendarConverter() );
add( new GetContentVersionConverter() );
add( new GetUrlAsTextConverter() );
add( new GetUrlAsXmlConverter() );
add( new GetFormattedDateConverter() );
add( new GetIndexValuesConverter() );
add( new GetAggregatedIndexValuesConverter() );
add( new GetMenuConverter() );
add( new GetMenuDataConverter() );
add( new GetMenuItemConverter() );
add( new GetSubMenuConverter() );
add( new GetMenuBranchConverter() );
add( new GetSuperCategoryNamesConverter() );
add( new GetContentByQueryConverter() );
add( new GetRelatedContentConverter() );
add( new GetRandomContentBySectionConverter() );
add( new GetRandomContentByCategoryConverter() );
add( new GetContentByCategoryConverter() );
add( new GetContentBySectionConverter() );
add( new GetContentConverter() );
add( new GetRelatedContentsConverter() );
add( new GetCategoriesConverter() );
add( new FindContentByCategoryConverter() );
add( new GetMyContentByCategoryConverter() );
}
private void add( final DataSourceMethodConverter converter )
{
if ( this.map.containsKey( converter.getName() ) )
{
throw new IllegalStateException( "Converter [" + converter.getName() + "] already exists" );
}
this.map.put( converter.getName(), converter );
}
public DataSourceMethodConverter get( final String name )
{
return this.map.get( name );
}
}