public class FreeMarkerAccountProvider extends Object implements AccountProvider
Modifier and Type | Field and Description |
---|---|
protected Map<String,Object> |
attributes |
protected List<Event> |
events |
protected boolean |
eventsEnabled |
protected FreeMarkerUtil |
freeMarker |
protected javax.ws.rs.core.HttpHeaders |
headers |
protected boolean |
identityProviderEnabled |
protected List<FormMessage> |
messages |
protected MessageType |
messageType |
protected boolean |
passwordSet |
protected boolean |
passwordUpdateSupported |
protected javax.ws.rs.core.MultivaluedMap<String,String> |
profileFormData |
protected RealmModel |
realm |
protected String[] |
referrer |
protected KeycloakSession |
session |
protected List<UserSessionModel> |
sessions |
protected String |
stateChecker |
protected javax.ws.rs.core.Response.Status |
status |
protected javax.ws.rs.core.UriInfo |
uriInfo |
protected UserModel |
user |
Constructor and Description |
---|
FreeMarkerAccountProvider(KeycloakSession session,
FreeMarkerUtil freeMarker) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
javax.ws.rs.core.Response |
createResponse(AccountPages page) |
protected String |
formatMessage(FormMessage message,
Properties messagesBundle,
Locale locale) |
protected Theme |
getTheme()
Get Theme used for page rendering.
|
protected void |
handleMessages(Locale locale,
Properties messagesBundle,
Map<String,Object> attributes)
Handle messages to be shown on the page - set them to template attributes
|
protected Properties |
handleThemeResources(Theme theme,
Locale locale,
Map<String,Object> attributes)
Load message bundle and place it into
msg template attribute. |
protected javax.ws.rs.core.Response |
processTemplate(Theme theme,
AccountPages page,
Map<String,Object> attributes,
Locale locale)
Process FreeMarker template and prepare Response.
|
AccountProvider |
setAttribute(String key,
String value) |
AccountProvider |
setError(javax.ws.rs.core.Response.Status status,
String message,
Object... parameters) |
AccountProvider |
setErrors(javax.ws.rs.core.Response.Status status,
List<FormMessage> messages) |
AccountProvider |
setEvents(List<Event> events) |
AccountProvider |
setFeatures(boolean identityProviderEnabled,
boolean eventsEnabled,
boolean passwordUpdateSupported,
boolean authorizationSupported) |
AccountProvider |
setHttpHeaders(javax.ws.rs.core.HttpHeaders httpHeaders) |
protected void |
setMessage(MessageType type,
String message,
Object... parameters) |
AccountProvider |
setPasswordSet(boolean passwordSet) |
AccountProvider |
setProfileFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData) |
AccountProvider |
setRealm(RealmModel realm) |
AccountProvider |
setReferrer(String[] referrer) |
AccountProvider |
setSessions(List<UserSessionModel> sessions) |
AccountProvider |
setStateChecker(String stateChecker) |
AccountProvider |
setSuccess(String message,
Object... parameters) |
AccountProvider |
setUriInfo(javax.ws.rs.core.UriInfo uriInfo) |
AccountProvider |
setUser(UserModel user) |
AccountProvider |
setWarning(String message,
Object... parameters) |
protected UserModel user
protected javax.ws.rs.core.Response.Status status
protected RealmModel realm
protected String[] referrer
protected String stateChecker
protected List<UserSessionModel> sessions
protected boolean identityProviderEnabled
protected boolean eventsEnabled
protected boolean passwordUpdateSupported
protected boolean passwordSet
protected KeycloakSession session
protected FreeMarkerUtil freeMarker
protected javax.ws.rs.core.HttpHeaders headers
protected javax.ws.rs.core.UriInfo uriInfo
protected List<FormMessage> messages
protected MessageType messageType
public FreeMarkerAccountProvider(KeycloakSession session, FreeMarkerUtil freeMarker)
public AccountProvider setUriInfo(javax.ws.rs.core.UriInfo uriInfo)
setUriInfo
in interface AccountProvider
public AccountProvider setHttpHeaders(javax.ws.rs.core.HttpHeaders httpHeaders)
setHttpHeaders
in interface AccountProvider
public javax.ws.rs.core.Response createResponse(AccountPages page)
createResponse
in interface AccountProvider
protected Theme getTheme() throws IOException
IOException
- in case of Theme loading problemprotected Properties handleThemeResources(Theme theme, Locale locale, Map<String,Object> attributes)
msg
template attribute. Also load Theme properties and place them into properties
template attribute.theme
- actual Theme to load bundle fromlocale
- to load bundle forattributes
- template attributes to add resources toprotected void handleMessages(Locale locale, Properties messagesBundle, Map<String,Object> attributes)
locale
- to be used for message text loadingmessagesBundle
- to be used for message text loadingattributes
- template attributes to messages related info tomessageType
,
messages
protected javax.ws.rs.core.Response processTemplate(Theme theme, AccountPages page, Map<String,Object> attributes, Locale locale)
theme
- to be used (provided by getTheme()
)page
- to be renderedattributes
- pushed to the templatelocale
- to be usedpublic AccountProvider setPasswordSet(boolean passwordSet)
setPasswordSet
in interface AccountProvider
protected void setMessage(MessageType type, String message, Object... parameters)
protected String formatMessage(FormMessage message, Properties messagesBundle, Locale locale)
public AccountProvider setErrors(javax.ws.rs.core.Response.Status status, List<FormMessage> messages)
setErrors
in interface AccountProvider
public AccountProvider setError(javax.ws.rs.core.Response.Status status, String message, Object... parameters)
setError
in interface AccountProvider
public AccountProvider setSuccess(String message, Object... parameters)
setSuccess
in interface AccountProvider
public AccountProvider setWarning(String message, Object... parameters)
setWarning
in interface AccountProvider
public AccountProvider setUser(UserModel user)
setUser
in interface AccountProvider
public AccountProvider setProfileFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData)
setProfileFormData
in interface AccountProvider
public AccountProvider setRealm(RealmModel realm)
setRealm
in interface AccountProvider
public AccountProvider setReferrer(String[] referrer)
setReferrer
in interface AccountProvider
public AccountProvider setEvents(List<Event> events)
setEvents
in interface AccountProvider
public AccountProvider setSessions(List<UserSessionModel> sessions)
setSessions
in interface AccountProvider
public AccountProvider setStateChecker(String stateChecker)
setStateChecker
in interface AccountProvider
public AccountProvider setFeatures(boolean identityProviderEnabled, boolean eventsEnabled, boolean passwordUpdateSupported, boolean authorizationSupported)
setFeatures
in interface AccountProvider
public AccountProvider setAttribute(String key, String value)
setAttribute
in interface AccountProvider
Copyright © 2021 JBoss by Red Hat. All rights reserved.