Interface ContainerValueDataProviderFactory<T extends Containerable,C extends GuiListDataProviderType>

All Known Implementing Classes:
InMemoryAssignmentDataProviderFactory, RepositoryAssignmentDataProviderFactory

public interface ContainerValueDataProviderFactory<T extends Containerable,C extends GuiListDataProviderType>
  • Method Details

    • getDataType

      Class<T> getDataType()
      Returns:
      Base class of supported data types
    • getConfigurationType

      Class<C> getConfigurationType()
      Returns:
      Class of supported configuration element
    • isSupported

      default boolean isSupported(Class<?> type)
      Checks if provided type class is supported by this data provider.
      Parameters:
      type - Type to check
      Returns:
      true, if data type is supported by factory
    • create

      ISelectableDataProvider<PrismContainerValueWrapper<T>> create(org.apache.wicket.Component component, @NotNull @NotNull org.apache.wicket.model.IModel<Search<T>> search, org.apache.wicket.model.IModel<List<PrismContainerValueWrapper<T>>> model, Class<? extends Objectable> objectType, String oid, ItemPath path)
      Creates data provider instance
      Parameters:
      component - Parent component
      search - Search model
      model - List of Prism Container Values
      objectType - Parent object Type
      oid - Parent oid
      path - Path on which prism container values are located
      Returns:
      Data Provider instance
    • create

      ISelectableDataProvider<PrismContainerValueWrapper<T>> create(org.apache.wicket.Component component, @NotNull @NotNull org.apache.wicket.model.IModel<Search<T>> search, org.apache.wicket.model.IModel<List<PrismContainerValueWrapper<T>>> model, Class<? extends Objectable> objectType, String oid, ItemPath path, CompiledObjectCollectionView compiledObjectCollectionView, ContainerValueDataProviderFactory.Customization<T> customization)
      Creates data provider instance
      Parameters:
      component - Parent component
      search - Search model
      model - List of Prism Container Values
      objectType - Parent object Type
      oid - Parent oid
      path - Path on which prism container values are located
      compiledObjectCollectionView - Compiled Object collection view
      customization - Implementation of customization
      Returns:
      Data Provider instance
    • isRepositorySearchEnabled

      boolean isRepositorySearchEnabled()
      Returns:
      true if data provider uses repository for search
    • specializedFor

      default <T2 extends Containerable, C2 extends GuiListDataProviderType> ContainerValueDataProviderFactory<T2,C2> specializedFor(Class<T2> data, Class<C2> configuration)
      Returns factory specialized for supplied concrete data type and configuration type. Implementors may create new instance of factory, if provided arguments requires additional changes to creation. Default implementation just casts itself.
      Type Parameters:
      T2 - Final data type
      C2 - Final confiugration Type
      Parameters:
      data - Data Type
      configuration - Configuration Type
      Returns:
      Specialized (casted) instance of data provider factory