Class AbstractDataSource<SelectorType,​SourceDataType,​TargetDataType>

  • Type Parameters:
    SelectorType -
    SourceDataType -
    TargetDataType -
    All Implemented Interfaces:
    DataSource<SelectorType,​TargetDataType>
    Direct Known Subclasses:
    AbstractCsvDataSource

    public abstract class AbstractDataSource<SelectorType,​SourceDataType,​TargetDataType>
    extends java.lang.Object
    implements DataSource<SelectorType,​TargetDataType>
    AbstractDataSource is a convenience abstract class which fits well for Iterator based results. It ensures that getData(Object) returns an immutable List.
    Since:
    3.0.0
    Author:
    Oliver Libutzki <[email protected]>
    • Constructor Detail

      • AbstractDataSource

        public AbstractDataSource()
    • Method Detail

      • getIterator

        protected abstract java.util.Iterator<SourceDataType> getIterator​(SelectorType selector)
        Returns an iterator which traverses the source data types. Each entry is processed by mapDataSet(Object).
        Parameters:
        selector - the selector which is used to determine the data to be provided
        Returns:
        an iterator which reflects the provided data sets
        Since:
        3.0.0
      • mapDataSet

        protected abstract TargetDataType mapDataSet​(SourceDataType dataset)
        Maps from the source type to the target type. This method is invoked for every data set returned by getIterator(Object).
        Parameters:
        dataset - the object to be mapped
        Returns:
        the mapped object
        Since:
        3.0.0