Package org.forgerock.openig.tools.am
Class AmService.Builder
- java.lang.Object
-
- org.forgerock.openig.tools.am.AmService.Builder
-
-
Constructor Summary
Constructors Constructor Description Builder(Handler amHandler, Clock clock, String agentId, String cookieName, AmVersion version, UriService uriService, AsyncRefreshableSupplier<SsoToken,AuthenticationException> tokenProvider)Create a Builder instance with every mandatory parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AmServicebuild()Returns a newAmServiceinstance.AmService.Buildernotification(NotificationsConfig config)Specifies the notification configurations.AmService.BuildernotificationService(NotificationService notificationService)Bind aNotificationServiceinstance to this builder.AmService.BuildersessionCache(com.github.benmanes.caffeine.cache.Caffeine<Object,Object> caffeine, Duration maximumTimeout, DisconnectionStrategy disconnectionStrategy)Specifies theCaffeinecache for theCacheSessionService.AmService.BuildersessionIdleRefresh(boolean enabled, Duration interval)Enable or disable the session idle refresh service and set the refresh interval.AmService.BuildersessionProperties(Set<String> sessionProperties)Set the session properties and return this builder.AmService.BuildersessionService(SessionService sessionService)Bind aSessionServiceinstance to this builder.
-
-
-
Constructor Detail
-
Builder
public Builder(Handler amHandler, Clock clock, String agentId, String cookieName, AmVersion version, UriService uriService, AsyncRefreshableSupplier<SsoToken,AuthenticationException> tokenProvider)
Create a Builder instance with every mandatory parameters.- Parameters:
amHandler- the Handler to use to query AMclock- the clock to useagentId- the ID identifying this AMService instance as an agentcookieName- the AM session cookie nameversion- the AM versionuriService- the URI service to usetokenProvider- an AM token provider
-
-
Method Detail
-
sessionIdleRefresh
public AmService.Builder sessionIdleRefresh(boolean enabled, Duration interval)
Enable or disable the session idle refresh service and set the refresh interval.- Parameters:
enabled-trueif the session idle refresh should be enabled orfalseotherwise.interval- The interval between session idle refresh requests, when session idle refresh is enabled.- Returns:
- this builder.
-
sessionCache
public AmService.Builder sessionCache(com.github.benmanes.caffeine.cache.Caffeine<Object,Object> caffeine, Duration maximumTimeout, DisconnectionStrategy disconnectionStrategy)
Specifies theCaffeinecache for theCacheSessionService. If the cache is set tonull, no cache will be used.- Parameters:
caffeine- TheCaffeinecache. If thecacheisnull, then the cache will be disabled.maximumTimeout- The maximum time to cache a session; can benull.disconnectionStrategy- The strategy to apply in case of notifications' disconnection.- Returns:
- this builder.
-
sessionService
public AmService.Builder sessionService(SessionService sessionService)
Bind aSessionServiceinstance to this builder.- Parameters:
sessionService- service to be bound- Returns:
- this Builder
-
sessionProperties
public AmService.Builder sessionProperties(Set<String> sessionProperties)
Set the session properties and return this builder.- Parameters:
sessionProperties- The session properties that will be requested from the sessionInfo endpoint of the session service.- Returns:
- this builder.
-
notification
public AmService.Builder notification(NotificationsConfig config)
Specifies the notification configurations. If not used the notifications are considered disabled.- Parameters:
config- the notifications configurations- Returns:
- this builder.
-
notificationService
public AmService.Builder notificationService(NotificationService notificationService)
Bind aNotificationServiceinstance to this builder.- Parameters:
notificationService- service to be bound- Returns:
- this Builder
-
-