// Path: src/main/java/org/holmes/Evaluator.java
// public interface Evaluator<T> {
// 
// 	/**
// 	 * Used to set the {@link Joint} on this Evaluator.
// 	 * 
// 	 * @param joint
// 	 */
// 	void setJoint(Joint joint);
// 
// 	/**
// 	 * Evaluates the target by specific logic.
// 	 * 
// 	 * @return <code>true</code> if the target conforms to the logic,
// 	 *         <code>false</code> otherwise.
// 	 */
// 	boolean evaluate();
// 
// }
// 
// Path: src/main/java/org/holmes/Statement.java
// public interface Statement {
// 
// 	/**
// 	 * Evaluates the statement. A statement evaluation can be delegated to its
// 	 * inner statements or even to the related evaluator.
// 	 * 
// 	 * @return <code>true</code> if the statement conforms to the logic,
// 	 *         <code>false</code> otherwise.
// 	 */
// 	boolean evaluate();
// 
// }


import org.holmes.Evaluator;
import org.holmes.Statement;
package org.holmes.statement;


/**
 * A simple {@link Statement}, whose evaluation result is delegated to an
 * {@link Evaluator}.
 * 
 * @author diegossilveira
 */
public class SimpleStatement implements Statement {

	private final Evaluator<?> evaluator;

	public SimpleStatement(Evaluator<?> evaluator) {

// Path: src/main/java/org/holmes/Evaluator.java
// public interface Evaluator<T> {
// 
// 	/**
// 	 * Used to set the {@link Joint} on this Evaluator.
// 	 * 
// 	 * @param joint
// 	 */
// 	void setJoint(Joint joint);
// 
// 	/**
// 	 * Evaluates the target by specific logic.
// 	 * 
// 	 * @return <code>true</code> if the target conforms to the logic,
// 	 *         <code>false</code> otherwise.
// 	 */
// 	boolean evaluate();
// 
// }
// 
// Path: src/main/java/org/holmes/Statement.java
// public interface Statement {
// 
// 	/**
// 	 * Evaluates the statement. A statement evaluation can be delegated to its
// 	 * inner statements or even to the related evaluator.
// 	 * 
// 	 * @return <code>true</code> if the statement conforms to the logic,
// 	 *         <code>false</code> otherwise.
// 	 */
// 	boolean evaluate();
// 
// }


// Path: src/main/java/org/holmes/statement/SimpleStatement.java
import org.holmes.Evaluator;
import org.holmes.Statement;

package org.holmes.statement;


/**
 * A simple {@link Statement}, whose evaluation result is delegated to an
 * {@link Evaluator}.
 * 
 * @author diegossilveira
 */
public class SimpleStatement implements Statement {

	private final Evaluator<?> evaluator;

	public SimpleStatement(Evaluator<?> evaluator) {

		this.evaluator = evaluator;