Interface IProductDataProvider

All Known Implementing Classes:
AbstractProductDataProvider, ClassLoaderProductDataProvider

public interface IProductDataProvider
A IProductDataProvider provides the content of product data identified by its toc entry. To get the table of contents you have to call 'loadToc'. The product data could change over time. If the user tries to request data from product data provider that has changed since creation a DataModifiedException is thrown. To get the actual product data the user have to create a new IProductDataProvider.
Author:
dirmeier
  • Method Details

    • getToc

      Getting the toc in the product data provider and returns it. Calling the method twice should not reload the table of content.
      Returns:
      The loaded toc
    • getProductCmptData

      Element getProductCmptData(ProductCmptTocEntry tocEntry) throws DataModifiedException
      Getting the product component data element for given tocEntry. If the toc has been modified this method throws a DataModifiedException. To update the modification time you have to reload the toc.
      Parameters:
      tocEntry - The toc entry for the product component you want to load
      Returns:
      the xml element of the requested product component
      Throws:
      DataModifiedException - when toc data was modified
    • getProductCmptGenerationData

      Element getProductCmptGenerationData(GenerationTocEntry tocEntry) throws DataModifiedException
      Getting the product component generation data element for given tocEntry. If the toc has been modified this method throws a DataModifiedException. To update the modification time you have to reload the toc.
      Parameters:
      tocEntry - The toc entry for the product component generation you want to load
      Returns:
      the xml element of the requested product component generation
      Throws:
      DataModifiedException - when toc data was modified
    • getTestcaseElement

      Element getTestcaseElement(TestCaseTocEntry tocEntry) throws DataModifiedException
      Getting the test case data element for given tocEntry. If the toc has been modified this method throws a DataModifiedException. To update the modification time you have to reload the toc.
      Parameters:
      tocEntry - The toc entry for the test case element you want to load
      Returns:
      the xml element of the requested test case element
      Throws:
      DataModifiedException - when toc data was modified
    • getTableContentAsStream

      InputStream getTableContentAsStream(TableContentTocEntry tocEntry) throws DataModifiedException
      Getting the input stream of table content for given tocEntry. If the toc has been modified this method throws a DataModifiedException. To update the modification time you have to reload the toc.
      Parameters:
      tocEntry - The toc entry for the table content you want to load
      Returns:
      the input stream of the requested table content
      Throws:
      DataModifiedException - when toc data was modified
    • getEnumContentAsStream

      InputStream getEnumContentAsStream(EnumContentTocEntry tocEntry) throws DataModifiedException
      Getting the input stream of enum content for given tocEntry. If the toc has been modified this method throws a DataModifiedException. To update the modification time you have to reload the toc.
      Parameters:
      tocEntry - The toc entry for the enum content you want to load
      Returns:
      the input stream of the requested enum content
      Throws:
      DataModifiedException - when toc data was modified
    • getVersion

      String getVersion()
      Getting the version of the product data provider. This is the version of the product data when this IProductDataProvider was created. The version should be final. Once product data has changed this IProductDataProvider getting useless and a new one should be created.
      Returns:
      the version of the product data provider
    • isCompatibleToBaseVersion

      boolean isCompatibleToBaseVersion()
      Return true if the version is compatible to the base version of this IProductDataProvider. The base version is the really actual version of the product data and should not be cached.
      Returns:
      true if version is compatible
    • getTocEntryData

      <T> Element getTocEntryData(CustomTocEntryObject<T> tocEntry) throws DataModifiedException
      Getting the data element for the given tocEntry. If the toc has been modified this method throws a DataModifiedException. To update the modification time you have to reload the toc.
      Type Parameters:
      T - the class of the runtime object you want to load
      Parameters:
      tocEntry - The toc entry for the runtime object of class T you want to load
      Returns:
      the xml element of the requested object
      Throws:
      DataModifiedException - when toc data was modified