Last active
December 12, 2016 11:26
-
-
Save senpl/902384aabe6f3e3aea23b4487fa0009a to your computer and use it in GitHub Desktop.
Setter for all sets with simplest data. For fast testing basic requests. solves partly http://stackoverflow.com/questions/6920571/shortcut-for-calling-all-the-setter-methods-on-an-object-in-eclipse
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.lang.reflect.Method; | |
public class SettersFiller { | |
public static void main(String[] args) { | |
String adress = "com.example.ClassToSet"; | |
classWrap(adress, 0); | |
} | |
public static int methodIndex = 0; | |
public static int orginalClassIndex = 0; | |
/** | |
* @param classNameString | |
*/ | |
public static void classWrap(String classNameString, int classUnique) { | |
try { | |
Class c = Class.forName(classNameString); | |
Method m[] = c.getMethods(); | |
for (int i = 0; i < m.length; i++) | |
if (m[i].getName().startsWith("set")) { | |
Class[] cl = m[i].getParameterTypes(); | |
if (cl.length == 1) { | |
if ("class java.lang.String".equals(cl[0].toString())) { | |
System.out.println( | |
"dummy" + classUnique + methodIndex + "." + m[i].getName() + "(\"dummy" | |
+ m[i].getName() | |
+ "\");"); | |
} else if ("class java.lang.Boolean".equals(cl[0].toString())) { | |
System.out.println( | |
"dummy" + classUnique + methodIndex + "." + m[i].getName() + "(" + false + ");"); | |
} else if ("class java.math.BigInteger".equals(cl[0].toString())) { | |
System.out.println( | |
"dummy" + classUnique + methodIndex + "." + m[i].getName() + "(BigInteger.ONE);"); | |
} else if ("int".equals(cl[0].toString())) { | |
System.out.println( | |
"dummy" + classUnique + methodIndex + "." + m[i].getName() + "(" + 1 + ");"); | |
} else if ("class javax.xml.datatype.XMLGregorianCalendar".equals(cl[0].toString())) { | |
String subclassString = cl[0].toString().substring("class ".length()); | |
System.out.println("java.util.Date now" + methodIndex | |
+ "=new java.util.Date();\njava.util.GregorianCalendar calendar" + methodIndex | |
+ " = new java.util.GregorianCalendar();\ncalendar" + methodIndex + ".setTime(now" | |
+ methodIndex + ");"); | |
System.out.println( | |
subclassString + " dummy" + methodIndex | |
+ " = javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar" | |
+ methodIndex + ");"); | |
} else if ("class java.math.BigDecimal".equals(cl[0].toString())) { | |
System.out.println( | |
"dummy" + methodIndex + "." + m[i].getName() + "(java.math.BigDecimal.ONE);"); | |
} else { | |
methodIndex++; | |
orginalClassIndex++; | |
String subclassString = cl[0].toString().substring("class ".length()); | |
int classNameOnly =classUnique; | |
classUnique = new java.util.Random().nextInt(24352); | |
System.out.println( | |
subclassString + " dummy" + classUnique + methodIndex + " = new " + subclassString | |
+ "();"); | |
classWrap(subclassString, classUnique); | |
methodIndex--; | |
System.out.println( | |
"dummy" + classNameOnly + methodIndex + "." + m[i].getName() + "(dummy" + classUnique | |
+ orginalClassIndex + ");"); | |
orginalClassIndex--; | |
} | |
} else { | |
System.out.println("dummy" + methodIndex + "." + m[i].getName() + "(" + ",," + ");"); | |
// break; | |
} | |
} | |
} catch (Throwable e) { | |
System.err.println(e); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Still not done date and some fields setted to base class after some other object set their subclasses.