// Path: src/main/java/io/dashbase/clue/commands/CommandRegistrar.java
// @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", defaultImpl = DefaultCommandRegistrar.class)
// @JsonSubTypes({
//         @JsonSubTypes.Type(name = "default", value = DefaultCommandRegistrar.class)
// })
// public interface CommandRegistrar {
//     void registerCommands(ClueContext ctx);
// }
// 
// Path: src/main/java/io/dashbase/clue/commands/DefaultCommandRegistrar.java
// public class DefaultCommandRegistrar implements CommandRegistrar {
//     @Override
//     public void registerCommands(ClueContext clueCtx) {
//         LuceneContext ctx = (LuceneContext)clueCtx;
//         // registers all the commands we currently support
//         new HelpCommand(ctx);
//         new InfoCommand(ctx);
//         new DocValCommand(ctx);
//         new SearchCommand(ctx);
//         new CountCommand(ctx);
//         new TermsCommand(ctx);
//         new PostingsCommand(ctx);
//         new DocSetInfoCommand(ctx);
//         new MergeCommand(ctx);
//         new DeleteCommand(ctx);
//         new ReadonlyCommand(ctx);
//         new DirectoryCommand(ctx);
//         new ExplainCommand(ctx);
//         new NormsCommand(ctx);
//         new TermVectorCommand(ctx);
//         new StoredFieldCommand(ctx);
//         new ReconstructCommand(ctx);
//         new ExportCommand(ctx);
//         new IndexTrimCommand(ctx);
//         new GetUserCommitDataCommand(ctx);
//         new SaveUserCommitData(ctx);
//         new DeleteUserCommitData(ctx);
//         new DumpDocCommand(ctx);
//     }
// }


import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import io.dashbase.clue.api.*;
import io.dashbase.clue.commands.CommandRegistrar;
import io.dashbase.clue.commands.DefaultCommandRegistrar;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
package io.dashbase.clue;



public class ClueAppConfiguration  {
    public QueryBuilder queryBuilder = new DefaultQueryBuilder();
    public DirectoryBuilder dirBuilder = new DefaultDirectoryBuilder();
    public IndexReaderFactory indexReaderFactory = new DefaultIndexReaderFactory();
    public AnalyzerFactory analyzerFactory = new DefaultAnalyzerFactory();
// Path: src/main/java/io/dashbase/clue/commands/CommandRegistrar.java
// @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", defaultImpl = DefaultCommandRegistrar.class)
// @JsonSubTypes({
//         @JsonSubTypes.Type(name = "default", value = DefaultCommandRegistrar.class)
// })
// public interface CommandRegistrar {
//     void registerCommands(ClueContext ctx);
// }
// 
// Path: src/main/java/io/dashbase/clue/commands/DefaultCommandRegistrar.java
// public class DefaultCommandRegistrar implements CommandRegistrar {
//     @Override
//     public void registerCommands(ClueContext clueCtx) {
//         LuceneContext ctx = (LuceneContext)clueCtx;
//         // registers all the commands we currently support
//         new HelpCommand(ctx);
//         new InfoCommand(ctx);
//         new DocValCommand(ctx);
//         new SearchCommand(ctx);
//         new CountCommand(ctx);
//         new TermsCommand(ctx);
//         new PostingsCommand(ctx);
//         new DocSetInfoCommand(ctx);
//         new MergeCommand(ctx);
//         new DeleteCommand(ctx);
//         new ReadonlyCommand(ctx);
//         new DirectoryCommand(ctx);
//         new ExplainCommand(ctx);
//         new NormsCommand(ctx);
//         new TermVectorCommand(ctx);
//         new StoredFieldCommand(ctx);
//         new ReconstructCommand(ctx);
//         new ExportCommand(ctx);
//         new IndexTrimCommand(ctx);
//         new GetUserCommitDataCommand(ctx);
//         new SaveUserCommitData(ctx);
//         new DeleteUserCommitData(ctx);
//         new DumpDocCommand(ctx);
//     }
// }


// Path: src/main/java/io/dashbase/clue/ClueAppConfiguration.java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import io.dashbase.clue.api.*;
import io.dashbase.clue.commands.CommandRegistrar;
import io.dashbase.clue.commands.DefaultCommandRegistrar;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

package io.dashbase.clue;



public class ClueAppConfiguration  {
    public QueryBuilder queryBuilder = new DefaultQueryBuilder();
    public DirectoryBuilder dirBuilder = new DefaultDirectoryBuilder();
    public IndexReaderFactory indexReaderFactory = new DefaultIndexReaderFactory();
    public AnalyzerFactory analyzerFactory = new DefaultAnalyzerFactory();
    public CommandRegistrar commandRegistrar = new DefaultCommandRegistrar();