Never ended up using setField with method chaining as I originally intended so the return isn't needed
Diff
src/main/java/wf/doyle/blockbuster/file/FileReader.java | 11 +++++------
src/test/java/wf/doyle/blockbuster/AppTest.java | 5 ++---
target/classes/wf/doyle/blockbuster/file/FileReader.class | Bin 8798 -> 8756 bytes
target/test-classes/wf/doyle/blockbuster/AppTest.class | Bin 1626 -> 1440 bytes
4 files changed, 7 insertions(+), 9 deletions(-)
@@ -203,9 +203,8 @@ public class FileReader {
* instance to set the value in
* @param data
* data to set the value as
* @return instance of LibraryItem
*/
public static LibraryItem setField(Field f, LibraryItem instance, String data)
public static void setField(Field f, LibraryItem instance, String data)
{
try
{
@@ -218,7 +217,7 @@ public class FileReader {
f.setAccessible(true);
f.set(instance, val);
return instance;
return;
}
}
catch(NumberFormatException nfe)
@@ -232,7 +231,7 @@ public class FileReader {
f.setAccessible(true);
f.set(instance, b);
return instance;
return;
}
f.setAccessible(true);
@@ -243,7 +242,7 @@ public class FileReader {
App.LOGGER.error("Couldn't set value of " + f.getName() + " in " + instance.getClass().getName(), e);
}
return instance;
return;
}
@@ -292,7 +291,7 @@ public class FileReader {
Field field = getField(this.lineContains[key].trim(), itemClass);
item = setField(field, item, value);
FileReader.setField(field, item, value);
}
@@ -24,13 +24,12 @@ public class AppTest {
Assert.assertNotNull(f);
LibraryItem i = FileReader.setField(f, item, "testCase");
FileReader.setField(f, item, "testCase");
try {
Assert.assertEquals(f.get(i), "testCase");
Assert.assertEquals(f.get(item), "testCase");
} catch(Exception e) {
Assert.fail("Getting value of String using reflection failed");
e.printStackTrace(System.err);
}
}
}
Binary files a/target/classes/wf/doyle/blockbuster/file/FileReader.class and b/target/classes/wf/doyle/blockbuster/file/FileReader.class differ
Binary files a/target/test-classes/wf/doyle/blockbuster/AppTest.class and b/target/test-classes/wf/doyle/blockbuster/AppTest.class differ