<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
	default-autowire="byName" default-lazy-init="true">
	
	<bean id="repositoryInitializationTask" class="net.sourceforge.atunes.kernel.modules.repository.ReadRepositoryInitializationTask" scope="prototype"/>
	<bean id="repositoryReader" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryReader"/>
	<bean id="repositoryActions" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryActionsHelper"/>
	<bean id="showRepositoryDataHelper" class="net.sourceforge.atunes.kernel.modules.repository.ShowRepositoryDataHelper"/>
	<bean id="voidRepository" class="net.sourceforge.atunes.kernel.modules.repository.VoidRepository" scope="prototype"/>
	<bean id="repositorySearchableObject" class="net.sourceforge.atunes.kernel.modules.search.RepositorySearchableObject" parent="searchableObject"/>
	<bean id="repositoryRefresher" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryAutoRefresher"/>
	<bean id="persistRepositoryTask" class="net.sourceforge.atunes.kernel.modules.repository.PersistRepositoryTask"/>
	
	<bean id="localAudioObjectFactory" class="net.sourceforge.atunes.kernel.modules.repository.LocalAudioObjectFactory"/>
	<bean id="localAudioObjectReader" class="net.sourceforge.atunes.kernel.modules.tags.TagReader"/>
	<bean id="localAudioObjectValidator" class="net.sourceforge.atunes.kernel.modules.repository.LocalAudioObjectValidator"/>
	<bean id="localAudioObjectLocator" class="net.sourceforge.atunes.kernel.modules.repository.LocalAudioObjectLocator"/>
	<bean id="validLocalAudioObjectFileFilter" class="net.sourceforge.atunes.kernel.modules.repository.ValidLocalAudioObjectFileFilter"/>
	
	<bean id="audioObjectImageLocator" class="net.sourceforge.atunes.kernel.modules.repository.AudioObjectImageLocator"/>
	<bean id="audioObjectComparator" class="net.sourceforge.atunes.kernel.modules.repository.AudioObjectComparator"/>
	<bean id="audioObjectDuplicateFinder" class="net.sourceforge.atunes.kernel.modules.repository.AudioObjectDuplicateFinder"/>
	
	<bean id="folderRefresher" class="net.sourceforge.atunes.kernel.modules.repository.FolderRefresher"/>
	<bean id="localAudioObjectRefresher" class="net.sourceforge.atunes.kernel.modules.repository.LocalAudioObjectRefresher"/>
	
	<bean id="repositoryAddService" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryAddService"/>
	<bean id="repositoryRemover" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryRemover"/>

	<bean id="addFilesTask" class="net.sourceforge.atunes.kernel.modules.repository.AddFilesToRepositoryTask" scope="prototype"/>
	<bean id="refreshFoldersTask" class="net.sourceforge.atunes.kernel.modules.repository.RefreshFoldersTask" scope="prototype"/>	
	
	<bean id="abstractRepositoryLoader" class="net.sourceforge.atunes.kernel.modules.repository.AbstractRepositoryLoader" abstract="true"/>
	<bean id="repositoryReadLoader" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryReadLoader" parent="abstractRepositoryLoader" scope="prototype"/>
	<bean id="repositoryRefreshLoader" class="net.sourceforge.atunes.kernel.modules.repository.RepositoryRefreshLoader" parent="abstractRepositoryLoader" scope="prototype"/>
	
	<bean class="net.sourceforge.atunes.kernel.modules.repository.ImportFoldersToRepositoryCallable" scope="prototype"/>
	<bean class="net.sourceforge.atunes.kernel.modules.repository.ImportFoldersToRepositoryActionsWithBackgroundResult" scope="prototype"/>
	
	<bean id="importToRepositoryProcessListener" class="net.sourceforge.atunes.kernel.modules.repository.ImportToRepositoryProcessListener" scope="prototype"/>
	
	
	<bean id="favoritesSearchableObject" class="net.sourceforge.atunes.kernel.modules.search.FavoritesSearchableObject" parent="searchableObject"/>

	<bean id="localAudioObjectFilter" class="net.sourceforge.atunes.kernel.modules.repository.LocalAudioObjectFilter"/>	
	
	<bean id="tagModifier" class="net.sourceforge.atunes.kernel.modules.tags.TagModifier"/>
	<bean class="net.sourceforge.atunes.kernel.modules.tags.RefreshTagAfterModifyRunnable" scope="prototype"/>
	
	
	<bean id="ratingsToStars" class="net.sourceforge.atunes.kernel.modules.tags.RatingsToStars">
		<property name="minRatingValue" value="0"/>
		<property name="maxRatingValue" value="255"/>
		<property name="numberOfStars" value="5"/>
	</bean>
	
</beans>
