package com.tns.tests; public class JniReferenceLeakTest { public static interface Processor { char echoChar(char c); int echoInt(int i); String echoString(String s); Object echoObject(Object o); char[] echoCharArray(char[] arr); int[] echoIntArray(int[] arr); String[] echoStringArray(String[] arr); Object[] echoObjectArray(Object[] arr); } private final Processor processor; public JniReferenceLeakTest(Processor processor) { this.processor = processor; } public byte byteField; public short shortField; public int intField; public long longField; public float floatField; public double doubleField; public char charField; public boolean booleanField; public String stringField; public Object objectField; public char[] charArray; public int[] intArray; public String[] stringArray; public Object[] objectArray; public char[][] charArray2; public int[][] intArray2; public String[][] stringArray2; public Object[][] objectArray2; public char echoChar(char c) { return c; } public int echoInt(int i) { return i; } public String echoString(String s) { return s; } public Object echoObject(Object o) { return o; } public char[] echoCharArray(char[] arr) { return arr; } public int[] echoIntArray(int[] arr) { return arr; } public String[] echoStringArray(String[] arr) { return arr; } public Object[] echoObjectArray(Object[] arr) { return arr; } // public char triggerEchoChar(char c) { return processor.echoChar(c); } public int triggerEchoInt(int i) { return processor.echoInt(i); } public String triggerEchoString(String s) { return processor.echoString(s); } public Object triggerEchoObject(Object o) { return processor.echoObject(o); } public char[] triggerEchoCharArray(char[] arr) { return processor.echoCharArray(arr); } public int[] triggerEchoIntArray(int[] arr) { return processor.echoIntArray(arr); } public String[] triggerEchoStringArray(String[] arr) { return processor.echoStringArray(arr); } public Object[] triggerEchoObjectArray(Object[] arr) { return processor.echoObjectArray(arr); } }