package net.jscanner.cli.command.impl; import java.util.List; import java.util.Map.Entry; import net.jscanner.cli.command.Command; import net.jscanner.util.FileManager; /** * The "find" command. * * @author Desmond Jackson */ public class FindCommand extends Command { /** * Creates a new "find" command instance. */ public FindCommand() { super("find"); } @Override public boolean execute(String... arguments) { if (arguments.length > 0) { String name = arguments[0]; for (Entry<String, List<String>> entry : FileManager.getRuntimeClasses().entrySet()) { String key = entry.getKey(); String className = key.substring(key.lastIndexOf("/") + 1); if (name.endsWith(".class") && className.equalsIgnoreCase(name.split(".class")[0])) System.out.println(key); else if (key.contains(name)) System.out.println(key); } return true; } return false; } @Override public String getUsage() { return "find <package/class name> | <class name>.class"; } @Override public String getHelp() { return "finds classes by name"; } }