下面列出了怎么用java.beans.Statement的API类实例代码及写法,或者点击链接到github查看源代码。
private static void simpleTest() throws Exception {
// load the class without initialization
new Statement(Class.class, "forName", new Object[]{
"ClassForName$Bean", false, Bean.class.getClassLoader()
}).execute();
if (initialized) {
throw new RuntimeException("Should not be initialized");
}
// load the class and initialize it
new Statement(Class.class, "forName", new Object[]{
"ClassForName$Bean", true, Bean.class.getClassLoader()
}).execute();
if (!initialized) {
throw new RuntimeException("Should be initialized");
}
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder encoder) {
super.initialize(type, oldInstance, newInstance, encoder);
DefaultTableModel m = (DefaultTableModel) oldInstance;
for (int row = 0; row < m.getRowCount(); row++) {
for (int col = 0; col < m.getColumnCount(); col++) {
Object[] o = {m.getValueAt(row, col), row, col};
encoder.writeStatement(new Statement(oldInstance, "setValueAt", o));
}
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder encoder) {
super.initialize(type, oldInstance, newInstance, encoder);
DefaultTableModel m = (DefaultTableModel) oldInstance;
for (int row = 0; row < m.getRowCount(); row++) {
for (int col = 0; col < m.getColumnCount(); col++) {
Object[] o = {m.getValueAt(row, col), row, col};
encoder.writeStatement(new Statement(oldInstance, "setValueAt", o));
}
}
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder encoder) {
super.initialize(type, oldInstance, newInstance, encoder);
DefaultTableModel m = (DefaultTableModel) oldInstance;
// Vector v = m.getDataVector();
// for (int i = 0; i < m.getRowCount(); i++) {
// encoder.writeStatement(new Statement(oldInstance, "addRow", new Object[] { (Vector) v.get(i) }));
// }
for (int row = 0; row < m.getRowCount(); row++) {
for (int col = 0; col < m.getColumnCount(); col++) {
Object[] o = {m.getValueAt(row, col), row, col};
encoder.writeStatement(new Statement(oldInstance, "setValueAt", o));
}
}
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
public static void setValue(Object config, String attr, Object value) {
var setter = "set" + StringUtils.upperCaseFirstLetter(attr);
var stmt = new Statement(config, setter, new Object[] { value });
try {
stmt.execute();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}
@Override
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
Public<String, String> map = (Public) oldInstance;
for (Entry<String, String> entry : map.getAll()) {
String[] args = {entry.getKey(), entry.getValue()};
out.writeStatement(new Statement(oldInstance, "put", args));
}
}
private static void testStatement() {
Object[] array = { new Object() };
Statement statement = new Statement(null, null, array);
test(statement.getArguments());
array[0] = null;
test(statement.getArguments());
statement.getArguments()[0] = null;
test(statement.getArguments());
}