1 18 19 import java.util.ArrayList ; 20 21 import org.apache.activemq.util.IntrospectionSupport; 22 23 29 public class CommnadLineSupport { 30 31 49 static public String [] setOptions(Object target, String []args) { 50 ArrayList rc = new ArrayList (); 51 52 for (int i = 0; i < args.length; i++) { 53 if( args[i] == null ) 54 continue; 55 56 if( args[i].startsWith("--") ) { 57 58 String value="true"; 60 String name = args[i].substring(2); 61 62 int p = name.indexOf("="); 64 if( p > 0 ) { 65 value = name.substring(p+1); 66 name = name.substring(0,p); 67 } 68 69 if( name.length()==0 ) { 71 rc.add(args[i]); 72 continue; 73 } 74 75 String propName = convertOptionToPropertyName(name); 76 if( !IntrospectionSupport.setProperty(target, propName, value) ) { 77 rc.add(args[i]); 78 continue; 79 } 80 } 81 82 } 83 84 String r[] = new String [rc.size()]; 85 rc.toArray(r); 86 return r; 87 } 88 89 94 private static String convertOptionToPropertyName(String name) { 95 String rc=""; 96 97 int p = name.indexOf("-"); 99 while( p > 0 ) { 100 rc += name.substring(0, p); 102 name = name.substring(p+1); 103 104 if( name.length() >0 ) { 106 rc += name.substring(0,1).toUpperCase(); 107 name = name.substring(1); 108 } 109 110 p = name.indexOf("-"); 111 } 112 return rc+name; 113 } 114 } 115 | Popular Tags |