Hyades Datapool Specification

org.eclipse.hyades.execution.datapool
Interface IDatapoolFactory


public interface IDatapoolFactory

A datapool factory manages the construction and sharing of IDatapool and IDatapoolIterator objects. Test scripts by default use managed datapools that share the datapool and iterator instance across multiple scripts.


Method Summary
 void close(IDatapoolIterator iterator)
          Return the iterator to the factory so that it can be properly destroyed.
 IDatapool load(java.io.File dpFile, boolean sharedInstance)
          Load the datapool from the specified file.
 IDatapoolIterator open(IDatapool datapool, java.lang.String iteratorClassName)
          Return an iterator instance of the supplied iterator class.
 void unload(IDatapool datapool)
          Removes a reference to an instance of a datapool.
 

Method Detail

load

public IDatapool load(java.io.File dpFile,
                      boolean sharedInstance)
Load the datapool from the specified file. If a sharedInstance is requested then the cache of other datapools that have been opened is checked for an existing copy of the datapool. Note that modifying a shared instance of the datapool may effect other uses of the datapool and should only be done in a confined execution environment.

Parameters:
dpFile - The datapool file name.
sharedInstance - Available for sharing instances of the datapool, which can save significantly on datapool loading overhead.
See Also:
unload(IDatapool)

unload

public void unload(IDatapool datapool)
Removes a reference to an instance of a datapool. If the datapool is shared the reference count is reduced. Once all references to a datapool have been unloaded the datapool instance may be made available to garbage collection.

Parameters:
datapool - The datapool instance being unloaded.
See Also:
load(java.io.File,boolean)

open

public IDatapoolIterator open(IDatapool datapool,
                              java.lang.String iteratorClassName)
Return an iterator instance of the supplied iterator class. Depending on attributes associated with the iterator class it may be shared. The attributes of an iterator are negotiated between the factory implementation and the iterator base class.

Parameters:
datapool - The datapool instance being iterated over.
See Also:
close(IDatapoolIterator)

close

public void close(IDatapoolIterator iterator)
Return the iterator to the factory so that it can be properly destroyed. Note that if shared the iterator will not be destructed until all uses have been accounted for.

Parameters:
iterator - The iterator being freed.
See Also:
open(IDatapool,String)


Hyades DPL