package com.dhemery.os; import java.util.List; import java.util.Map; /** * A factory that creates {@link OSCommand}s. * @param <T> the type of {@code OSCommand} created by the factory */ public interface OSCommandFactory<T extends OSCommand> { /** * Create an {@code OSCommand}. * See {@link OSCommand} for details about the parameters */ T command(String description, String path, List<String> arguments, Map<String, String> environment); }