Class ClassLoaderProductDataProvider
- java.lang.Object
-
- org.faktorips.runtime.productdataprovider.AbstractProductDataProvider
-
- org.faktorips.runtime.productdataprovider.ClassLoaderProductDataProvider
-
- All Implemented Interfaces:
IProductDataProvider
public class ClassLoaderProductDataProvider extends AbstractProductDataProvider
TheClassLoaderProductDataProvideris an implementation ofIProductDataProvidernormally for testing purpose.It loads data similar as the
ClassloaderRuntimeRepository. Modification is checked by checking the modification date of the TOC resource.- Author:
- dirmeier
-
-
Field Summary
-
Fields inherited from class org.faktorips.runtime.productdataprovider.AbstractProductDataProvider
MODIFIED_EXCEPTION_MESSAGE
-
-
Constructor Summary
Constructors Constructor Description ClassLoaderProductDataProvider(ClassLoaderDataSource dataSource, java.lang.String tocResourcePath, boolean checkTocModifications)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetBaseVersion()Getting the really actual version of the product data.java.io.InputStreamgetEnumContentAsStream(EnumContentTocEntry tocEntry)Getting the input stream of enum content for given tocEntry.org.w3c.dom.ElementgetProductCmptData(ProductCmptTocEntry tocEntry)Getting the product component data element for given tocEntry.org.w3c.dom.ElementgetProductCmptGenerationData(GenerationTocEntry tocEntry)Getting the product component generation data element for given tocEntry.java.io.InputStreamgetTableContentAsStream(TableContentTocEntry tocEntry)Getting the input stream of table content for given tocEntry.org.w3c.dom.ElementgetTestcaseElement(TestCaseTocEntry tocEntry)Getting the test case data element for given tocEntry.ReadonlyTableOfContentsgetToc()Getting the toc in the product data provider and returns it.<T> org.w3c.dom.ElementgetTocEntryData(CustomTocEntryObject<T> tocEntry)Getting the data element for the given tocEntry.java.lang.StringgetVersion()Getting the version of the product data provider.-
Methods inherited from class org.faktorips.runtime.productdataprovider.AbstractProductDataProvider
getDocumentBuilder, getVersionChecker, isCompatibleToBaseVersion
-
-
-
-
Constructor Detail
-
ClassLoaderProductDataProvider
public ClassLoaderProductDataProvider(ClassLoaderDataSource dataSource, java.lang.String tocResourcePath, boolean checkTocModifications)
-
-
Method Detail
-
getBaseVersion
public java.lang.String getBaseVersion()
Description copied from class:AbstractProductDataProviderGetting the really actual version of the product data. That means to look in the file, asking your service or your database or what ever is your product data base.- Specified by:
getBaseVersionin classAbstractProductDataProvider- Returns:
- the actual version of the product data
-
getProductCmptData
public org.w3c.dom.Element getProductCmptData(ProductCmptTocEntry tocEntry) throws DataModifiedException
Description copied from interface:IProductDataProviderGetting the product component data element for given tocEntry. If the toc has been modified this method throws aDataModifiedException. 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
-
getTestcaseElement
public org.w3c.dom.Element getTestcaseElement(TestCaseTocEntry tocEntry) throws DataModifiedException
Description copied from interface:IProductDataProviderGetting the test case data element for given tocEntry. If the toc has been modified this method throws aDataModifiedException. 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
-
getProductCmptGenerationData
public org.w3c.dom.Element getProductCmptGenerationData(GenerationTocEntry tocEntry) throws DataModifiedException
Description copied from interface:IProductDataProviderGetting the product component generation data element for given tocEntry. If the toc has been modified this method throws aDataModifiedException. 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
-
getTableContentAsStream
public java.io.InputStream getTableContentAsStream(TableContentTocEntry tocEntry) throws DataModifiedException
Description copied from interface:IProductDataProviderGetting the input stream of table content for given tocEntry. If the toc has been modified this method throws aDataModifiedException. 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
public java.io.InputStream getEnumContentAsStream(EnumContentTocEntry tocEntry) throws DataModifiedException
Description copied from interface:IProductDataProviderGetting the input stream of enum content for given tocEntry. If the toc has been modified this method throws aDataModifiedException. 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
-
getToc
public ReadonlyTableOfContents getToc()
Description copied from interface:IProductDataProviderGetting 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
-
getVersion
public java.lang.String getVersion()
Description copied from interface:IProductDataProviderGetting the version of the product data provider. This is the version of the product data when thisIProductDataProviderwas created. The version should be final. Once product data has changed thisIProductDataProvidergetting useless and a new one should be created.- Returns:
- the version of the product data provider
-
getTocEntryData
public <T> org.w3c.dom.Element getTocEntryData(CustomTocEntryObject<T> tocEntry) throws DataModifiedException
Description copied from interface:IProductDataProviderGetting the data element for the given tocEntry. If the toc has been modified this method throws aDataModifiedException. 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
-
-