org.exparity.beans.BeanVisitors Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of exparity-bean Show documentation
Show all versions of exparity-bean Show documentation
A Java library of bean utilities for manipulating and inspecting Java classes implementing the Java Beans standard
package org.exparity.beans;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
/**
* Static repository of {@link BeanVisitor} implementations
*
* @author Stewart Bissett
*/
public abstract class BeanVisitors {
/**
* Print all the properties visited to {@link System#out}
*/
public static BeanVisitor print() {
return print(new OutputStreamWriter(System.out));
}
/**
* Print all the properties visited to the {@link Writer}
*/
public static BeanVisitor print(final Writer writer) {
return new BeanVisitor() {
final PrintWriter printer = new PrintWriter(writer);
public void visit(final BeanProperty property, final Object current, final BeanPropertyPath path, final Object[] stack) {
printer.println("'" + path + "' = '" + property.getValue() + "'");
printer.flush();
}
};
}
}