Skip to content

Instantly share code, notes, and snippets.

@senpl
Last active December 12, 2016 11:26
Show Gist options
  • Save senpl/902384aabe6f3e3aea23b4487fa0009a to your computer and use it in GitHub Desktop.
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
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);
}
}
}
@senpl
Copy link
Author

senpl commented Dec 12, 2016

Still not done date and some fields setted to base class after some other object set their subclasses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment