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

com.bigdata.rdf.sparql.ast.IValueExpressionNode Maven / Gradle / Ivy

package com.bigdata.rdf.sparql.ast;

import com.bigdata.bop.IValueExpression;
import com.bigdata.rdf.internal.IV;

/**
 * An AST node which models a value expression.
 */
public interface IValueExpressionNode {

    /**
     * Return the cached {@link IValueExpression} if it exists on the node,
     * otherwise return null.
     */
    IValueExpression getValueExpression();
    
    /**
     * Return the cached {@link IValueExpressionNode} if it exists on the node.
     * 
     * @return The {@link IValueExpressionNode} and never null.
     * 
     * @throws IllegalStateException
     *             if the {@link IValueExpressionNode} is not cached.
     */
    IValueExpression getRequiredValueExpression();
    
	/**
	 * Cache the translated value expression on the node.
	 */
	void setValueExpression(final IValueExpression ve);

	/**
	 * Invalidate the cached value.  It will be recomputed again on demand.
	 */
	void invalidate();
	
	/**
	 * A string representation of a recursive structure with pretty-print indent.
	 * @param indent
	 * @return
	 */
	String toString(final int indent);
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy