Class SavedViewsMetaDataProvider
java.lang.Object
com.kingsrook.qqq.backend.core.model.savedviews.SavedViewsMetaDataProvider
Define MetaData for the Saved Views functionality.
Optionally, sharing can be enabled (so a view created by one user can be seen by other users (and or groups, etc, as defined by app-level customizations). Similarly, an alternative presentation of some views as "Quick Saved Views" can be enabled (e.g., show quick ones as one-tap buttons, vs. the rest in a dropdown menu).
An optional RecordSecurityLock is encouraged to be provided, to apply
to all the produced tables. Applications may add additional fields
to these tables for custom security locks (in which case, they will need to
put their own RecordSecurityLock on the table)s.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddefineAll(QInstance instance, String backendName, Consumer<QTableMetaData> backendDetailEnricher) defineSavedViewTable(String backendName, Consumer<QTableMetaData> backendDetailEnricher) defineSharedSavedViewTable(String backendName, Consumer<QTableMetaData> backendDetailEnricher) booleanGetter for isQuickSavedViewEnabledbooleanGetter for isShareSavedViewEnabledGetter for userLevelRecordSecurityLockvoidsetIsQuickSavedViewEnabled(boolean isQuickSavedViewEnabled) Setter for isQuickSavedViewEnabledvoidsetIsShareSavedViewEnabled(boolean isShareSavedViewEnabled) Setter for isShareSavedViewEnabledvoidsetUserLevelRecordSecurityLock(RecordSecurityLock userLevelRecordSecurityLock) Setter for userLevelRecordSecurityLockwithIsQuickSavedViewEnabled(boolean isQuickSavedViewEnabled) Fluent setter for isQuickSavedViewEnabledwithIsShareSavedViewEnabled(boolean isShareSavedViewEnabled) Fluent setter for isShareSavedViewEnabledwithUserLevelRecordSecurityLock(RecordSecurityLock userLevelRecordSecurityLock) Fluent setter for userLevelRecordSecurityLock
-
Field Details
-
SHARED_SAVED_VIEW_JOIN_SAVED_VIEW
- See Also:
-
QUICK_SAVED_VIEW_JOIN_SAVED_VIEW
- See Also:
-
-
Constructor Details
-
SavedViewsMetaDataProvider
public SavedViewsMetaDataProvider()
-
-
Method Details
-
defineAll
public void defineAll(QInstance instance, String backendName, Consumer<QTableMetaData> backendDetailEnricher) throws QException - Throws:
QException
-
defineSavedViewTable
public QTableMetaData defineSavedViewTable(String backendName, Consumer<QTableMetaData> backendDetailEnricher) throws QException - Throws:
QException
-
getIsQuickSavedViewEnabled
public boolean getIsQuickSavedViewEnabled()Getter for isQuickSavedViewEnabled- See Also:
-
setIsQuickSavedViewEnabled
public void setIsQuickSavedViewEnabled(boolean isQuickSavedViewEnabled) Setter for isQuickSavedViewEnabled- See Also:
-
withIsQuickSavedViewEnabled
Fluent setter for isQuickSavedViewEnabled- Parameters:
isQuickSavedViewEnabled- Controls if, when defineAll is called, whether to include Quick Saved Views in the metadata definition. default value is false- Returns:
- this
-
getUserLevelRecordSecurityLock
Getter for userLevelRecordSecurityLock- See Also:
-
setUserLevelRecordSecurityLock
Setter for userLevelRecordSecurityLock- See Also:
-
withUserLevelRecordSecurityLock
public SavedViewsMetaDataProvider withUserLevelRecordSecurityLock(RecordSecurityLock userLevelRecordSecurityLock) Fluent setter for userLevelRecordSecurityLock- Parameters:
userLevelRecordSecurityLock-- Returns:
- this
-