package net.minecraft.command.parser;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import net.minecraft.command.arg.CommandArg;
public final class ParsingManager
{
private ParsingManager()
{
}
private static final ExecutorService threadPool = Executors.newFixedThreadPool(Math.max(Runtime.getRuntime().availableProcessors() - 1, 1));
public static final Future<CommandArg<Integer>> submit(final String toParse)
{
return threadPool.submit(new Callable<CommandArg<Integer>>()
{
@Override
public CommandArg<Integer> call() throws Exception
{
return Parser.parseCommand(toParse);
}
});
}
public static final Future<CommandArg<List<String>>> submitTarget(final String targetString)
{
return threadPool.submit(new Callable<CommandArg<List<String>>>()
{
@Override
public CommandArg<List<String>> call() throws Exception
{
return Parser.parseStatsTarget(targetString);
}
});
}
public static final void submit(final Runnable runnable)
{
threadPool.submit(runnable);
}
}