org.objectweb.medor.eval.lib

Class UnaryIteratifNodeEvaluator

Implemented Interfaces:
NodeEvaluator

public class UnaryIteratifNodeEvaluator
extends java.lang.Object
implements NodeEvaluator

MEDOR: Middleware Enabling Distributed Object Requests Copyright (C) 2001-2004 France Telecom R&D Contact: alexandre.lefebvre@rd.francetelecom.com This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Initial developers: M. Alia, A. Lefebvre

Constructor Summary

UnaryIteratifNodeEvaluator(QueryNode query, NodeEvaluator subNodeEvaluator, EvaluationMetaData evaluationMetaData)

Method Summary

TupleCollection
fetchData(ParameterOperand[] parameters)
This method executes the query on the underlying node.
long
getCacheSize()
EvaluationMetaData
getEvaluationMetaData()
Returns the evaluation meta data associated with this node evaluator.
QueryNode
getQueryNode()
Returns the QueryNode to which the NodeEvaluator is attached.
boolean
linkChildren()
Opens the links between the current NodeEvaluator and the NodeEvaluators of the children QueryTrees for pipelining operations.
void
setCacheSize(long cacheSize)
void
setPrefetchBuffer(PrefetchBuffer pb)
Associates a PrefetchBuffer to be filled by the collection computed by this evaluator.
boolean
unlinkChildren()
Closes the links between the current NodeEvaluator and the NodeEvaluators of the children QueryTrees for pipelining operations.

Constructor Details

UnaryIteratifNodeEvaluator

public UnaryIteratifNodeEvaluator(QueryNode query,
                                  NodeEvaluator subNodeEvaluator,
                                  EvaluationMetaData evaluationMetaData)

Method Details

fetchData

public TupleCollection fetchData(ParameterOperand[] parameters)
            throws MedorException
This method executes the query on the underlying node. It controls the evaluation locally for this node. It returns the TupleCollection containing the result of the execution.
Specified by:
fetchData in interface NodeEvaluator


getCacheSize

public long getCacheSize()
Specified by:
getCacheSize in interface NodeEvaluator


getEvaluationMetaData

public EvaluationMetaData getEvaluationMetaData()
Returns the evaluation meta data associated with this node evaluator.
Specified by:
getEvaluationMetaData in interface NodeEvaluator

Returns:
the associated EvaluationMetaData


getQueryNode

public QueryNode getQueryNode()
Returns the QueryNode to which the NodeEvaluator is attached.
Specified by:
getQueryNode in interface NodeEvaluator


linkChildren

public boolean linkChildren()
Opens the links between the current NodeEvaluator and the NodeEvaluators of the children QueryTrees for pipelining operations. TODO complete comments
Specified by:
linkChildren in interface NodeEvaluator


setCacheSize

public void setCacheSize(long cacheSize)
Specified by:
setCacheSize in interface NodeEvaluator


setPrefetchBuffer

public void setPrefetchBuffer(PrefetchBuffer pb)
            throws MedorException
Associates a PrefetchBuffer to be filled by the collection computed by this evaluator.
Specified by:
setPrefetchBuffer in interface NodeEvaluator

Parameters:
pb - The PrefetchBuffer to be filled.


unlinkChildren

public boolean unlinkChildren()
Closes the links between the current NodeEvaluator and the NodeEvaluators of the children QueryTrees for pipelining operations. TODO complete comments
Specified by:
unlinkChildren in interface NodeEvaluator