com.brightsparklabs.assam.visitor.Visitable Maven / Gradle / Ivy
/*
* Created by brightSPARK Labs
* www.brightsparklabs.com
*/
package com.brightsparklabs.assam.visitor;
/**
* Interface for objects which can be visited as per the Visitor pattern
*
* @param
* type of {@link Visitor} that can visit this object
*
* @author brightSPARK Labs
*/
public interface Visitable
{
// -------------------------------------------------------------------------
// PUBLIC METHODS
// -------------------------------------------------------------------------
/**
* Accepts a visit from a suitable visitor
*
* @param visitor
* the visitor to visit the object with
*
* @return the result from the visitor
*/
Object accept(VisitorType visitor);
}