edu.cmu.aura.service
Interface PrimitiveService

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
PrimitiveServiceStub

public interface PrimitiveService
extends java.rmi.Remote

PrimitiveService is the Remote interface implemented by generic primitive services. Note that not all services will support all methods; however, all services will at least support query.


Method Summary
 int postQuery(java.util.ArrayList selectedAttribs, java.util.ArrayList serviceNames, edu.cmu.aura.service.query.ExpressionNode expression, java.util.ArrayList attribReqs, long timeLimit, long execInterval, edu.cmu.aura.service.rpc.RemoteReference queryClient)
          Query a service recurrently.
 QueryResult query(java.util.ArrayList selectedAttribs, java.util.ArrayList serviceNames, edu.cmu.aura.service.query.ExpressionNode expression, java.util.ArrayList attribReqs, long timeLimit)
          Query a service.
 void removeQuery(java.lang.String serviceName, int queryID)
          Remove a recurrent query.
 

Method Detail

query

public QueryResult query(java.util.ArrayList selectedAttribs,
                         java.util.ArrayList serviceNames,
                         edu.cmu.aura.service.query.ExpressionNode expression,
                         java.util.ArrayList attribReqs,
                         long timeLimit)
                  throws java.rmi.RemoteException,
                         edu.cmu.aura.service.QueryExecutionException
Query a service.
Parameters:
selectedAttribs - the attribs to select.
serviceNames - names of services to retrieve attributes from.
expression - expression selecting which entities or relations in the service should be returned.
attribReqs - requirements on dynamic attributes.
timeLimit - this is used by clients to inform the service on when they need the results by. This may also be viewed as a suggestion on how hard to work to retrieve the results.
Returns:
the QueryResult of the query.

postQuery

public int postQuery(java.util.ArrayList selectedAttribs,
                     java.util.ArrayList serviceNames,
                     edu.cmu.aura.service.query.ExpressionNode expression,
                     java.util.ArrayList attribReqs,
                     long timeLimit,
                     long execInterval,
                     edu.cmu.aura.service.rpc.RemoteReference queryClient)
              throws java.rmi.RemoteException,
                     edu.cmu.aura.service.QueryExecutionException
Query a service recurrently.
Parameters:
selectedAttribs - the attribs to select.
serviceNames - names of services to retrieve attributes from.
expression - expression selecting which entities or relations in the service should be returned.
attribReqs - requirements on dynamic attributes.
timeLimit - this is used by clients to inform the service on when they need the results by. This may also be viewed as a suggestion on how hard to work to retrieve the results.
execInterval - interval at which to execute the query.
Returns:
the QueryResult of the query.

removeQuery

public void removeQuery(java.lang.String serviceName,
                        int queryID)
                 throws java.rmi.RemoteException
Remove a recurrent query.
Parameters:
serviceName - name of the service to remove the query from.
queryID - the ID of the query to remove.