com.bigdata.relation.rule.eval
Interface IJoinNexusFactory

All Superinterfaces:
Serializable
All Known Implementing Classes:
RDFJoinNexusFactory

public interface IJoinNexusFactory
extends Serializable

A factory for IJoinNexus instances.

Note: This factory plays a critical role in (re-)constructing a suitable IJoinNexus instance when an IProgram is executed on a remote DataService or when its execution is distributed across an IBigdataFederation using RMI. Implementations are presumed to carry some state relating to the desired execution context, including the solutionFlags, any IElementFilter to be applied to the created buffers, etc.

Version:
$Id: IJoinNexusFactory.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson

Method Summary
 long getReadTimestamp()
          The timestamp for the read view of the relation(s).
 long getWriteTimestamp()
          The timestamp for the write view of the relation(s).
 IJoinNexus newInstance(IIndexManager indexManager)
          Singleton factory for an IJoinNexus instance for the given indexManager.
 void setReadTimestamp(long readTimestamp)
          Used by fix point closure operations to advance the read timestamp to the IIndexStore.getLastCommitTime() at the start of each round of closure.
 

Method Detail

getWriteTimestamp

long getWriteTimestamp()
The timestamp for the write view of the relation(s).


getReadTimestamp

long getReadTimestamp()
The timestamp for the read view of the relation(s).


setReadTimestamp

void setReadTimestamp(long readTimestamp)
Used by fix point closure operations to advance the read timestamp to the IIndexStore.getLastCommitTime() at the start of each round of closure.


newInstance

IJoinNexus newInstance(IIndexManager indexManager)
Singleton factory for an IJoinNexus instance for the given indexManager.

Note: The use of a singleton pattern helps to reduce the proliferation of distinct IJoinNexus instances for a given combination of IJoinNexusFactory and IIndexManager objects. A distinct IJoinNexus instance is of course generated when the IJoinNexusFactory is de-serialized, e.g., during RMI, and when a different IIndexManager is used.

Parameters:
indexManager - Used to locate relations and parallelize operations during rule execution.


Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.