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

org.jsimpledb.parse.expr.Node Maven / Gradle / Ivy

The newest version!

/*
 * Copyright (C) 2015 Archie L. Cobbs. All rights reserved.
 */

package org.jsimpledb.parse.expr;

import org.jsimpledb.parse.ParseSession;

/**
 * The product of a parse operation, which is capable of producing a {@link Value} when evaluated within a transaction.
 */
public interface Node {

    /**
     * Evaluate this node. There will be a transaction open.
     *
     * @param session parse session
     * @return result of node evaluation
     * @throws EvalException if evaluation fails
     */
    Value evaluate(ParseSession session);

    /**
     * Get the type of this node's value.
     *
     * 

* If the type is unknown, {@code Object.class} should be returned. * * @param session parse session * @return the expected type of the node */ Class getType(ParseSession session); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy