All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.brightsparklabs.assam.visitor.VisitableThrowing Maven / Gradle / Ivy

There is a newer version: 0.7.1
Show newest version
/*
 * Created by brightSPARK Labs
 * www.brightsparklabs.com
 */

package com.brightsparklabs.assam.visitor;

/**
 * Interface for objects which can be visited as per the Visitor pattern.  Use this is version if
 * the visitation may/will throw exceptions that need to propagate.
 *
 * @param 
 *         type of {@link Visitor} that can visit this object
 * @param 
 *         the type of exception that can be thrown
 *
 * @author brightSPARK Labs
 */
public interface VisitableThrowing
{
    // -------------------------------------------------------------------------
    // PUBLIC METHODS
    // -------------------------------------------------------------------------

    /**
     * Accept a visitor
     *
     * @param visitor
     *         the visitor to visit the object with
     *
     * @return the result from the visitor
     *
     * @throws ExceptionType
     *         dependent on visitor implementation
     */
    Object accept(VisitorType visitor) throws ExceptionType;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy