1 18 19 package com.martiansoftware.nailgun.builtins; 20 21 import java.util.Iterator ; 22 import java.util.Set ; 23 24 import com.martiansoftware.nailgun.Alias; 25 import com.martiansoftware.nailgun.NGContext; 26 import com.martiansoftware.nailgun.NGServer; 27 28 45 public class NGAlias { 46 47 private static String padl(String s, int len) { 48 StringBuffer buf = new StringBuffer (s); 49 while(buf.length() < len) buf.append(" "); 50 return (buf.toString()); 51 } 52 53 public static void nailMain(NGContext context) throws ClassNotFoundException { 54 55 String [] args = context.getArgs(); 56 NGServer server = context.getNGServer(); 57 58 if (args.length == 0) { 59 Set aliases = server.getAliasManager().getAliases(); 60 61 int maxAliasLength = 0; 64 int maxClassnameLength = 0; 65 for (Iterator i = aliases.iterator(); i.hasNext();) { 66 Alias alias = (Alias) i.next(); 67 maxAliasLength = Math.max(maxAliasLength, alias.getName().length()); 68 maxClassnameLength = Math.max(maxClassnameLength, alias.getAliasedClass().getName().length()); 69 } 70 for (Iterator i = aliases.iterator(); i.hasNext();) { 71 Alias alias = (Alias) i.next(); 72 context.out.println(padl(alias.getName(), maxAliasLength) 73 + "\t" 74 + padl(alias.getAliasedClass().getName(), maxClassnameLength)); 75 context.out.println(padl("", maxAliasLength) + "\t" + alias.getDescription()); 76 context.out.println(); 77 } 78 } else if (args.length == 2) { 79 server.getAliasManager().addAlias(new Alias(args[0], "", Class.forName(args[1]))); 80 } 81 } 82 } 83 | Popular Tags |