- java.lang.Object
-
- com.iamsoft.util.ui.javafx.table.JpaTableViewUtil
-
public final class JpaTableViewUtil extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JpaTableViewUtil.Database
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ExecutorService
createDefaultDbExecutorService()
static <T> String
createFetchByIdQuery(JpaTableInfo<T> pTableInfo)
static <S,T extends JpaFilterableLazyTableView.ItemCache<S>>
Callable<List<S>>createFetchByRowIndicesCallable(JpaFilterableLazyTableView<S,T> pTable, Collection<Integer> pIndices)
static <T> Callable<List<T>>
createFetchCallable(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, int pFrom, int pMaxCount)
static <T> Function<javafx.scene.control.IndexRange,List<T>>
createFetchFunction(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static <T> Callable<Integer>
createFetchSizeCallable(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static <T> Callable<Integer>
createFetchSizeCallable(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, boolean pFilteredSize)
static <T> FilterTableView<T>
createFilterTableView(javafx.scene.control.TableView<T> pTableView, Class<?> pPrefClass)
static <T> String
createIdQueryString(JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static <T> SimpleLazyObservableList<T>
createLazyItemList(ExecutorService pExecutorService, jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static <T> String
createQueryString(JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static <S,T extends JpaFilterableLazyTableView.ItemCache<S>>
javafx.collections.ObservableList<S>createSelectedItemsList(JpaFilterableLazyTableView<S,T> pTable, int pMaxSelectionCount)
static <I,O>
Function<I,String>createToStringMapper(Function<I,O> pValueMapper)
static <T> Stream<T>
fetchById(jakarta.persistence.EntityManager pEntityMgr, JpaTableInfo<T> pTableInfo, Collection<Object> pIds)
static <T> Stream<T>
getCursoredStream(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, String pSql, int pCursorInitialSize, int pMaxResults, String pResultSetMapping)
Note that the returned stream should be closed no matter if it is used or not.static <T> Stream<T>
getCursoredStream(jakarta.persistence.EntityManager pEntityManager, String pSql, int pCursorInitialSize, int pMaxResults, String pResultSetMapping)
Note that the returned stream should be closed no matter if it is used or not.static <S,T extends JpaFilterableLazyTableView.ItemCache<S>>
StringgetItemIdsByRowIndicesQuery(JpaFilterableLazyTableView<S,T> pTable, Collection<Integer> pIndices)
Specified indices should be zero-based.static <S,T extends JpaFilterableLazyTableView.ItemCache<S>>
StringgetItemsByRowIndicesQuery(JpaFilterableLazyTableView<S,T> pTable, Collection<Integer> pIndices)
Specified indices should be zero-based.static <T> String
getOrderBy(JpaTableInfo<T> pTableInfo, String pEntityName)
static <T> String
getSqlString(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static <T> String
getSqlString(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, String pQueryString)
static <T> String
getWhere(JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, String pEntityName)
static <T> void
refresh(ExecutorService pExecutorService, jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
static String
toSql(jakarta.persistence.EntityManager pEntityMgr, jakarta.persistence.Query pQuery)
static String
toSqlRegexSearch(String pColumn, String pRegex, boolean pMatchCase)
static String
toSqlRegexSearch(List<String> pColumns, String pRegex, boolean pMatchCase)
static String
toSqlSearch(String pSearchText)
static String
toSqlSearch(String pColumn, String pSearchText, boolean pMatchCase)
static String
toSqlSearch(List<String> pColumns, String pSearchText, boolean pMatchCase)
static <S,T>
javafx.beans.value.ObservableValue<T>toValue(javafx.scene.control.TableColumn.CellDataFeatures<S,T> pFeatures, Function<S,T> pValueMapper)
static <T> void
updateUnfilteredItemCount(ExecutorService pExecutorService, jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, javafx.beans.value.WritableValue<Integer> pUnfilteredItemCountProperty)
-
-
-
Method Detail
-
createDefaultDbExecutorService
public static ExecutorService createDefaultDbExecutorService()
-
createLazyItemList
public static <T> SimpleLazyObservableList<T> createLazyItemList(ExecutorService pExecutorService, jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
createFetchCallable
public static <T> Callable<List<T>> createFetchCallable(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, int pFrom, int pMaxCount)
-
createFetchFunction
public static <T> Function<javafx.scene.control.IndexRange,List<T>> createFetchFunction(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
fetchById
public static <T> Stream<T> fetchById(jakarta.persistence.EntityManager pEntityMgr, JpaTableInfo<T> pTableInfo, Collection<Object> pIds)
-
createFetchByIdQuery
public static <T> String createFetchByIdQuery(JpaTableInfo<T> pTableInfo)
-
createIdQueryString
public static <T> String createIdQueryString(JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
createQueryString
public static <T> String createQueryString(JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
getOrderBy
public static <T> String getOrderBy(JpaTableInfo<T> pTableInfo, String pEntityName)
-
getWhere
public static <T> String getWhere(JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, String pEntityName)
-
toSqlSearch
public static String toSqlSearch(List<String> pColumns, String pSearchText, boolean pMatchCase)
-
toSqlSearch
public static String toSqlSearch(String pColumn, String pSearchText, boolean pMatchCase)
-
toSqlRegexSearch
public static String toSqlRegexSearch(List<String> pColumns, String pRegex, boolean pMatchCase)
-
toSqlRegexSearch
public static String toSqlRegexSearch(String pColumn, String pRegex, boolean pMatchCase)
-
updateUnfilteredItemCount
public static <T> void updateUnfilteredItemCount(ExecutorService pExecutorService, jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, javafx.beans.value.WritableValue<Integer> pUnfilteredItemCountProperty)
-
createFetchSizeCallable
public static <T> Callable<Integer> createFetchSizeCallable(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
createFetchSizeCallable
public static <T> Callable<Integer> createFetchSizeCallable(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo, boolean pFilteredSize)
-
refresh
public static <T> void refresh(ExecutorService pExecutorService, jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
createFilterTableView
public static <T> FilterTableView<T> createFilterTableView(javafx.scene.control.TableView<T> pTableView, Class<?> pPrefClass)
-
toValue
public static <S,T> javafx.beans.value.ObservableValue<T> toValue(javafx.scene.control.TableColumn.CellDataFeatures<S,T> pFeatures, Function<S,T> pValueMapper)
-
createToStringMapper
public static <I,O> Function<I,String> createToStringMapper(Function<I,O> pValueMapper)
-
createSelectedItemsList
public static <S,T extends JpaFilterableLazyTableView.ItemCache<S>> javafx.collections.ObservableList<S> createSelectedItemsList(JpaFilterableLazyTableView<S,T> pTable, int pMaxSelectionCount)
-
getItemsByRowIndicesQuery
public static <S,T extends JpaFilterableLazyTableView.ItemCache<S>> String getItemsByRowIndicesQuery(JpaFilterableLazyTableView<S,T> pTable, Collection<Integer> pIndices)
Specified indices should be zero-based.
-
getItemIdsByRowIndicesQuery
public static <S,T extends JpaFilterableLazyTableView.ItemCache<S>> String getItemIdsByRowIndicesQuery(JpaFilterableLazyTableView<S,T> pTable, Collection<Integer> pIndices)
Specified indices should be zero-based.
-
createFetchByRowIndicesCallable
public static <S,T extends JpaFilterableLazyTableView.ItemCache<S>> Callable<List<S>> createFetchByRowIndicesCallable(JpaFilterableLazyTableView<S,T> pTable, Collection<Integer> pIndices)
-
getSqlString
public static <T> String getSqlString(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, JpaTableViewUtil.Database pDb, JpaTableInfo<T> pTableInfo)
-
getSqlString
public static <T> String getSqlString(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, String pQueryString)
-
toSql
public static String toSql(jakarta.persistence.EntityManager pEntityMgr, jakarta.persistence.Query pQuery)
-
getCursoredStream
public static <T> Stream<T> getCursoredStream(jakarta.persistence.EntityManagerFactory pEntityManagerFactory, String pSql, int pCursorInitialSize, int pMaxResults, String pResultSetMapping)
Note that the returned stream should be closed no matter if it is used or not.
-
getCursoredStream
public static <T> Stream<T> getCursoredStream(jakarta.persistence.EntityManager pEntityManager, String pSql, int pCursorInitialSize, int pMaxResults, String pResultSetMapping)
Note that the returned stream should be closed no matter if it is used or not. Also note that if the entity contains relationship mappings, constructor result mappings should be used to construct entities. Otherwise, ECLIPSELINK-06115 exception will occur.
-
-