java.lang.Object
org.apache.wicket.DefaultPageManagerProvider
- All Implemented Interfaces:
Supplier<IPageManager>
,IPageManagerProvider
A provider of a
PageManager
managing @link IManageablePage}s with a default chain of IPageStore
s:
RequestPageStore
keeping pages until end of the requestCachingPageStore
caching with an ...InSessionPageStore
keeping the last accessed page in the sessionSerializingPageStore
serializing all pages (so they are available for back-button)AsynchronousPageStore
moving storage of pages to an asynchronous worker thread (enabled by default withStoreSettings.isAsynchronous()
)CryptingPageStore
encrypting all pages (disabled by default inStoreSettings.isEncrypted()
)DiskPageStore
persisting all pages, configured according toStoreSettings
RequestPageStore
keeping pages until end of the requestCachingPageStore
caching with an ...InSessionPageStore
keeping the last accessed page in the sessionSerializingPageStore
serializing all pages (so they are available for back-button)AsynchronousPageStore
moving storage of pages to a worker threadInMemoryPageStore
keeping all pages in memory
RequestPageStore
caching pages until end of the requestInSessionPageStore
keeping a limited count of pages in the session, e.g. 10
RequestPageStore
, buffering all adding of pages until the end of the request.
Several stores accept SerializedPage
only, these have to be preceded by a SerializingPageStore
.
For back-button support at least one store in the chain must create copies of stored pages (usually through serialization), otherwise any following request will work on an identical page instance and the previous state of page is no longer accessible.
Other stores be may inserted ad libitum, e.g.
NoopPageStore
discards all pagesGroupingPageStore
groups pages, e.g. to limit storage size on a per-group basisFilePageStore
as an alternative to the trustedDiskPageStore
- other implementations from wicketstuff-datastores
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionget()
protected ISerializer
Get theISerializer
to use for serializing of pages.protected IPageStore
newAsynchronousStore
(IPageStore pageStore) Store pages asynchronously into the persistent store, if enabled inStoreSettings.isAsynchronous()
.protected IPageStore
newCachingStore
(IPageStore pageStore) Cache last page non-serialized in the session for fast access.protected IPageStore
newCryptingStore
(IPageStore pageStore) Crypt all pages, if enabled inStoreSettings.isEncrypted()
.protected IPageStore
Keep persistent copies of all pages on disk.protected IPageStore
newRequestStore
(IPageStore pageStore) Keep pages in the request until it is finished.protected IPageStore
newSerializingStore
(IPageStore pageStore) Serialize pages.
-
Field Details
-
application
-
-
Constructor Details
-
DefaultPageManagerProvider
Constructor.- Parameters:
application
- The application instance
-
-
Method Details
-
get
- Specified by:
get
in interfaceSupplier<IPageManager>
-
getSerializer
Get theISerializer
to use for serializing of pages.By default the serializer of the applications
FrameworkSettings
.- Returns:
- how to serialize pages if needed for any
IPageStore
- See Also:
-
newRequestStore
Keep pages in the request until it is finished.- See Also:
-
newCachingStore
Cache last page non-serialized in the session for fast access.On session serialization the cached page will be dropped and re-acquired from a persistent store.
- See Also:
-
newAsynchronousStore
Store pages asynchronously into the persistent store, if enabled inStoreSettings.isAsynchronous()
.- See Also:
-
newSerializingStore
Serialize pages.- See Also:
-
newCryptingStore
Crypt all pages, if enabled inStoreSettings.isEncrypted()
.- See Also:
-
newPersistentStore
Keep persistent copies of all pages on disk.
-