com.gigaspaces.datasource
Interface DataProvider<T>
- Type Parameters:
 T - 
- All Superinterfaces: 
 - ManagedDataSource<T>
 
- All Known Subinterfaces: 
 - DataPersister<T>, ExternalDataSource<T>
 
- All Known Implementing Classes: 
 - CriteriaHibernateExternalDataSource, DataProviderSplitter
 
public interface DataProvider<T>
- extends ManagedDataSource<T>
 
DataProvider is responsible for retrieving  space data 
 from external  data source. 
   This interfaces should be implemented for simple space access.
 
 DataProvider is used by the space in the following scenarios:
 
  
  - reads by UID. 
  - empty template. 
 
  - non-abstract class without extended match codes.
   
  Any other scenario requires an implementation of the SQLDataProvider.
  Note: If SQLDataProvider is implemented, the space will use it for all the read operations
  instead of the DataProvider.
  
  Implement this interface only if you don't intend to use SQLQuery at all.
- Since:
 
  - 6.0
 
- Author:
 
  - anna
 
- See Also:
 SQLDataProvider
 
 
| 
Method Summary | 
 DataIterator<T> | 
iterator(T template)
 
          Create an iterator over all objects that match the given template. | 
 T | 
read(T template)
 
          Read one object that matches the given template. | 
 
 
read
T read(T template)
       throws DataSourceException
- Read one object that matches the given template. 
 Used by the space for read templates with UID.
 
- Parameters:
 template - 
- Returns:
 - matched object or null
 - Throws:
 DataSourceException
 
 
iterator
DataIterator<T> iterator(T template)
                         throws DataSourceException
- Create an iterator over all objects that match the given template.
 Note: null value can be passed - in case of a null template or at initial space load.
 If SQLDataProvider interface is also implemented - the space will use SQLDataProvider.iterator instead.
 
- Parameters:
 template - 
- Returns:
 - a 
DataIterator or null if no data was found that match the given template
 - Throws:
 DataSourceException
 
 
Copyright © GigaSpaces.