package org.carlspring.strongbox.storage.indexing;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.maven.index.Indexer;
import org.apache.maven.index.Scanner;
import org.apache.maven.index.context.IndexCreator;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
/**
* @author mtodorov
*/
@Component("indexerConfiguration")
@Scope("singleton")
public class IndexerConfiguration
{
private Indexer indexer;
private Scanner scanner;
private Map<String, IndexCreator> indexers;
@Inject
public IndexerConfiguration(Indexer indexer,
Scanner scanner,
Map<String, IndexCreator> indexers)
{
this.indexer = indexer;
this.scanner = scanner;
this.indexers = indexers;
}
public List<IndexCreator> getIndexersAsList()
{
List<IndexCreator> indexersAsList = new ArrayList<>();
for (Map.Entry entry : indexers.entrySet())
{
indexersAsList.add((IndexCreator) entry.getValue());
}
return indexersAsList;
}
public Indexer getIndexer()
{
return indexer;
}
public void setIndexer(Indexer indexer)
{
this.indexer = indexer;
}
public Scanner getScanner()
{
return scanner;
}
public void setScanner(Scanner scanner)
{
this.scanner = scanner;
}
public Map<String, IndexCreator> getIndexers()
{
return indexers;
}
public void setIndexers(Map<String, IndexCreator> indexers)
{
this.indexers = indexers;
}
}