org.globus.wsrf
Interface TopicExpressionEvaluator

All Known Implementing Classes:
SimpleTopicExpressionEvaluator

public interface TopicExpressionEvaluator

A TopicExpressionEvaluator is used to implement a topic expression evaluation against a TopicList. An evaluator can be registered with a TopicExpressionEngine, which in turn calls the evaluator when a matching expression is found.

See Also:
TopicList, TopicExpressionEngine

Method Summary
 List getConcreteTopicPath(Object expression)
          Converts the expression from dialect specific form to a ordered list of QNames.
 URI[] getDialects()
          Gets the URIs for the dialects that this evaluator can handle
 Collection resolve(Object expression, TopicList topicList)
          Evaluates the expression over a TopicList and returns the result.
 TopicExpressionType toTopicExpression(List topicPath)
          Converts a topic path (list of QNames) to a dialect specific concrete topic expression.
 

Method Detail

resolve

public Collection resolve(Object expression,
                          TopicList topicList)
                   throws Exception
Evaluates the expression over a TopicList and returns the result.
Parameters:
expression - object passed by client representing the topic expression
topicList - topic list associated with the service/resource
Returns:
the result of the evaluation which depends on the expression.
Throws:
Exception - if the evaluator failed to parse or validate the expression

getDialects

public URI[] getDialects()
Gets the URIs for the dialects that this evaluator can handle
Returns:
array of URIs supported by this evaluator

getConcreteTopicPath

public List getConcreteTopicPath(Object expression)
                          throws Exception
Converts the expression from dialect specific form to a ordered list of QNames. This method throws an exception if the expression does not evaluate to a concrete topic path.
Parameters:
expression - object passed by client representing the topic expression
Returns:
a list of QNames describing the concrete topic path
Throws:
Exception -  

toTopicExpression

public TopicExpressionType toTopicExpression(List topicPath)
                                      throws Exception
Converts a topic path (list of QNames) to a dialect specific concrete topic expression.
Parameters:
topicPath - containing a list of QNames describing a concrete topic path
Returns:
dialect specific version of the topic path
Throws:
Exception -  


Copyright © 1999-2003 University of Chicago and The University of Southern California. All rights reserved.