SeamFramework.orgCommunity Documentation
Ce chapitre décrit les composants livrés par Seam et leur propriétés de configuration. Les composants livrés par Seam seront crées même si ils ne sont listés dans votre fichier components.xml
, mais si vous avez besoin de surcharger les propriétés par défaut ou de spécifier plus d'un composant d'un certain type, components.xml
est à utiliser.
Notez que vous pouvez remplacer tout les composants livrés par vos propres implémentations simplement en spécifiant le nom d'un des composants livrés dans votre propre classe en utilisant @Name
.
Le premier groupe de composants livré existe primitivement pour supporter l'injection des différents 'objets contextuel. Par exemple, les instances de composants suivantes devrait avoir l'objet contexte de session de Seam injecté:
@In private Context sessionContext;
org.jboss.seam.core.contexts
Le composant qui fourni un accès aux objets de Contexte de Seam, par exemple org.jboss.seam.core.contexts.sessionContext['user']
.
org.jboss.seam.faces.facesContext
Le composant de gestion pour l'objet de contexte FacesContext
(pas un vrai contexte de Seam)
Tous ces composants sont toujours installés.
Le groupe suivant de composants est fourni pour suppléer JSF.
org.jboss.seam.faces.dateConverter
Fourni un convertisseur JSF par défaut pour les propriétés de type java.util.Date
.
Ce convertisseur est automatiquement activé avec JSF. Il est fourni pour éviter au développeur d'avoir à spécifier un DateTimeConverter sur un champs de saisie ou en paramètre de page. Par défaut, il suppose que le type doit être une date (à la différence d'une heure ou de la date plus l'heure) et utilise le style de saisie de date courte ajustée à la Locale de l'utilisateur. Pour la Locale .US, le patron d'entrée est mm/DD/yy. Cependant pour être valide avec Y2K, l'année est modifié de deux chiffres vers quatre (autrement dit mm/DD/yyyy).
C'est possible de surcharger le patron d'entrée globallement en utilisation la configuration du composant. Consultez la JavaDoc pour cette classe pour voir les exemples.
org.jboss.seam.faces.facesMessages
Permet aux messages de succès faces de se propager au travers d'une redirection du navigateur.
add(FacesMessage facesMessage)
— ajoute un message faces, qui sera affiché pendant la porchaine phase de rendue de la réponse qui intervendra dans cette conversation courante.
add(String messageTemplate)
— ajoute un message faces, rendu depuis un modèle de message donnée qui peut contenir des expressions EL.
add(Severity severity, String messageTemplate)
— ajoute un message faces, rendu depuis un modèle de message donnée qui peut contenir des expressions EL.
addFromResourceBundle(String key)
—ajoute un message faces, rendu depuis un modèle de message défini dans le fichier de ressource livré de Seam qui peut contenir des expressions EL.
addFromResourceBundle(String key)
—ajoute un message faces, rendu depuis un modèle de message défini dans le fichier de ressource livré de Seam qui peut contenir des expressions EL.
clear()
— efface tous les messages.
org.jboss.seam.faces.redirect
Une API utile pour réaliser les redictions avec paramètres (c'est particulièrement utile pour les écrans de résultat de recherche à utiliser en favoris).
redirect.viewId
— l'identifiant de vue JSF à rediriger vers.
redirect.conversationPropagationEnabled
— détermines si la conversation sera propagé au travers d'une redirection.
redirect.parameters
— une table de hachage de nom de paramètre de requête et de valeur, doit être passé dans la requête de redirection.
execute()
— réalise la redirection immédiatement.
captureCurrentRequest()
— stoque l'identifiant de vue et les paramètres de la requête de la requête courrant GET (dans le contexte de conversation), pour l'utiliser plus tard en appelant execute()
.
org.jboss.seam.faces.httpError
Une API utile pour les envoyer les erreurs HTTP.
org.jboss.seam.ui.renderStampStore
Un composant (d'étendue de session par défaut) responsable de la conservation d'une collection d'empreinte de rendue. Une empreinte de rendue est un indicateur fait pour savoir si un formulaire qui a été rendu a été soumis. Ce stockage est utile quand la méthode de sauvegarde de l'état côté client de JSF a été utilisée par ce qu'il indique que l'objectif a été d'avoir un formulaire qui a été soumis dans le contrôle du serveur au lieur de l'avoir dans l'arbre de composant qui a été maintenu sur le client.
Pour détacher cette vérification depuis la session (ce qui est l'un des principaux objectifs du design d'une sauvegarde d'état côté client) une implémentation doit être fournie pour stocker les empreintes de rendue pour l'application ( valide aussi longtemps que l'application est exécutée) ou pour la base de données (valide au travers des rédémarrage du serveur).
maxSize
— Le nombre maximun d'empreintes qui doient être conservées dans le stockage. Par défaut: 100
Ces composants sont installé quand la classe javax.faces.context.FacesContext
est disponible dans le classpath.
Ces composants sont simplement utiles.
org.jboss.seam.core.events
Une API pour lever les évènements qui peuvent être observé via les méthodes @Observer
, ou en liaison avec une méthode dans components.xml
.
raiseEvent(String type)
— lève un évènement d'un type particulier et le distribue à tous les observateurs.
raiseAsynchronousEvent(String type)
— lève un évènement qui doit être exécuté de manière assynchrone par le service de temps d'EJB3.
raiseTimedEvent(String type, ....)
— planifie un évènement qui doit être exécuté par le service de temps EJB3.
addListener(String type, String methodBinding)
— ajoute un observateur pour un type d'évènement particulier.
org.jboss.seam.core.interpolator
Une API pour l'interpolation de valeurs des expressions EL de JSF en Strings.
interpolate(String template)
— analyse le modèle pour des expressions EL de JSF de la forme #{...}
et les replace par leurs valeurs évaluées.
org.jboss.seam.core.expressions
Une API pour la création de valeur et la liaison avec les méthodes.
createValueBinding(String expression)
— création d'un objet lié avec une valeur.
createMethodBinding(String expression)
— création d'un objet lié à une méthode.
org.jboss.seam.core.pojoCache
Le composant de gestion pour une instance de Jboss Cache PojoCache
.
pojoCache.cfgResourceName
— le nom du fichier de configuration. Par défaut,treecache.xml
.
Tous ces composants sont toujours installés.
Le groupe suivant de composants rend facile la constructions d'interfaces utilisateurs internationnalisés en utilisant Seam.
org.jboss.seam.core.locale
La locale de Seam.
org.jboss.seam.international.timezone
Le fuseau horaire de Seam. Le fuseau horaire est d'étendue de session.
org.jboss.seam.core.resourceBundle
Le fichier de ressource livré dans Seam. Le fichier de ressource livré est sans état. Le fichier de ressource de Seam réalise une recherche du premier résultat dans les clefs dans la liste de fichiers de ressource Java livré.
org.jboss.seam.core.resourceLoader
Le chargeur de ressource permet l'accès aux ressources de l'application et aux ressources livrés.
resourceLoader.bundleNames
— les noms des ressources Java livrés pour savoir quand le fichier de ressources Seam livré est utilisé. Par défaut à messages
.
org.jboss.seam.international.localeSelector
Permet la sélection de la locale aussi bien pendant la partie configuration ou par l'utilisateur à l'éxécution.
select()
— sélectionne la locale spécifiée.
localeSelector.locale
— La java.util.Locale
actuelle.
localeSelector.localeString
— La représentation transformée en texte de la locale.
localeSelector.language
— la langue pour la locale spécifiée.
localeSelector.country
— le pays pour la locale spécifiée.
localeSelector.variant
— la variation de la langue pour la locale spécifiée.
localeSelector.supportedLocales
— une liste de SelectItem
s réprésentant les locales supportés et listées dans jsf-config.xml
.
localeSelector.cookieEnabled
— spécifie que la sélection de la locale devrait être persistée via un cookie.
org.jboss.seam.international.timezoneSelector
Permet la sélection d'un fuseau horaire pendant la partie configuration, ou par l'utilisateur à l'exécution.
select()
— sélectionne la locale spécifiée.
timezoneSelector.timezone
— La java.util.TimeZone
actuelle.
timezoneSelector.timeZoneId
— la représentation en texte du fuseau horaire.
timezoneSelector.cookieEnabled
— spécifie que la sélection du fuseau horaire devrait êre persisté via un cookie.
org.jboss.seam.international.messages
Une table de hachage contenant le rendu des messages internationnalisés depuis un modèle de message défini dans le fichier de ressource de Seam livré.
org.jboss.seam.theme.themeSelector
Permet la sélection d'un thème aussi bien pendant la phase de configuration que par l'utilisateur pendant l'exécution.
select()
— select the specified theme.
theme.availableThemes
— the list of defined themes.
themeSelector.theme
— the selected theme.
themeSelector.themes
— a list of SelectItem
s representing the defined themes.
themeSelector.cookieEnabled
— specifies that the theme selection should be persisted via a cookie.
org.jboss.seam.theme.theme
A map containing theme entries.
Tous ces composants sont toujours installés.
The next group of components allow control of conversations by the application or user interface.
org.jboss.seam.core.conversation
API for application control of attributes of the current Seam conversation.
getId()
— returns the current conversation id
isNested()
— is the current conversation a nested conversation?
isLongRunning()
— is the current conversation a long-running conversation?
getId()
— returns the current conversation id
getParentId()
— returns the conversation id of the parent conversation
getRootId()
— returns the conversation id of the root conversation
setTimeout(int timeout)
— sets the timeout for the current conversation
setViewId(String outcome)
— sets the view id to be used when switching back to the current conversation from the conversation switcher, conversation list, or breadcrumbs.
setDescription(String description)
— sets the description of the current conversation to be displayed in the conversation switcher, conversation list, or breadcrumbs.
redirect()
— redirect to the last well-defined view id for this conversation (useful after login challenges).
leave()
— exit the scope of this conversation, without actually ending the conversation.
begin()
— begin a long-running conversation (equivalent to @Begin
).
beginPageflow(String pageflowName)
— begin a long-running conversation with a pageflow (equivalent to @Begin(pageflow="...")
).
end()
— end a long-running conversation (equivalent to @End
).
pop()
— pop the conversation stack, returning to the parent conversation.
root()
— return to the root conversation of the conversation stack.
changeFlushMode(FlushModeType flushMode)
— change the flush mode of the conversation.
org.jboss.seam.core.conversationList
Manager component for the conversation list.
org.jboss.seam.core.conversationStack
Manager component for the conversation stack (breadcrumbs).
org.jboss.seam.faces.switcher
The conversation switcher.
Tous ces composants sont toujours installés.
These components are for use with jBPM.
org.jboss.seam.pageflow.pageflow
API control of Seam pageflows.
isInProcess()
— returns true
if there is currently a pageflow in process
getProcessInstance()
— returns jBPM ProcessInstance
for the current pageflow
begin(String pageflowName)
— begin a pageflow in the context of the current conversation
reposition(String nodeName)
— reposition the current pageflow to a particular node
org.jboss.seam.bpm.actor
API for application control of attributes of the jBPM actor associated with the current session.
setId(String actorId)
— sets the jBPM actor id of the current user.
getGroupActorIds()
— returns a Set
to which jBPM actor ids for the current users groups may be added.
org.jboss.seam.bpm.transition
API for application control of the jBPM transition for the current task.
setName(String transitionName)
— sets the jBPM transition name to be used when the current task is ended via @EndTask
.
org.jboss.seam.bpm.businessProcess
API for programmatic control of the association between the conversation and business process.
businessProcess.taskId
— the id of the task associated with the current conversation.
businessProcess.processId
— the id of the process associated with the current conversation.
businessProcess.hasCurrentTask()
— is a task instance associated with the current conversation?
businessProcess.hasCurrentProcess()
— is a process instance associated with the current conversation.
createProcess(String name)
— create an instance of the named process definition and associate it with the current conversation.
startTask()
— start the task associated with the current conversation.
endTask(String transitionName)
— end the task associated with the current conversation.
resumeTask(Long id)
— associate the task with the given id with the current conversation.
resumeProcess(Long id)
— associate the process with the given id with the current conversation.
transition(String transitionName)
— trigger the transition.
org.jboss.seam.bpm.taskInstance
Manager component for the jBPM TaskInstance
.
org.jboss.seam.bpm.processInstance
Manager component for the jBPM ProcessInstance
.
org.jboss.seam.bpm.jbpmContext
Manager component for an event-scoped JbpmContext
.
org.jboss.seam.bpm.taskInstanceList
Manager component for the jBPM task list.
org.jboss.seam.bpm.pooledTaskInstanceList
Manager component for the jBPM pooled task list.
org.jboss.seam.bpm.taskInstanceListForType
Manager component for the jBPM task lists.
org.jboss.seam.bpm.pooledTask
Action handler for pooled task assignment.
org.jboss.seam.bpm.processInstanceFinder
Manager for the process instance task list.
org.jboss.seam.bpm.processInstanceList
The process instance task list.
All of these components are installed whenever the component org.jboss.seam.bpm.jbpm
is installed.
These components relate to web-tier security.
org.jboss.seam.web.userPrincipal
Manager component for the current user Principal
.
org.jboss.seam.web.isUserInRole
Allows JSF pages to choose to render a control, depending upon the roles available to the current principal. <h:commandButton value="edit" rendered="#{isUserInRole['admin']}"/>
.
These components are for use with managed TopicPublisher
s and QueueSender
s (see below).
org.jboss.seam.jms.queueSession
Manager component for a JMS QueueSession
.
org.jboss.seam.jms.topicSession
Manager component for a JMS TopicSession
.
These components are for use with Seam's Email support
org.jboss.seam.mail.mailSession
Manager component for a JavaMail Session
. The session can be either looked up in the JNDI context (by setting the sessionJndiName
property) or it can created from the configuration options in which case the host
is mandatory.
org.jboss.seam.mail.mailSession.host
— the hostname of the SMTP server to use
org.jboss.seam.mail.mailSession.port
— the port of the SMTP server to use
org.jboss.seam.mail.mailSession.username
— the username to use to connect to the SMTP server.
org.jboss.seam.mail.mailSession.password
— the password to use to connect to the SMTP server
org.jboss.seam.mail.mailSession.debug
— enable JavaMail debugging (very verbose)
org.jboss.seam.mail.mailSession.ssl
— enable SSL connection to SMTP (will default to port 465)
org.jboss.seam.mail.mailSession.tls
— by default true, enable TLS support in the mail session
org.jboss.seam.mail.mailSession.sessionJndiName
— name under which a javax.mail.Session is bound to JNDI. If supplied, all other properties will be ignored.
These components provide critical platform infrastructure. You can install a component which isn't installed by default by setting install="true"
on the component in components.xml
.
org.jboss.seam.core.init
Initialization settings for Seam. Always installed.
org.jboss.seam.core.init.jndiPattern
— the JNDI pattern used for looking up session beans
org.jboss.seam.core.init.debug
— enable Seam debug mode. This should be set to false when in production. You may see errors if the system is placed under any load and debug is enabled.
org.jboss.seam.core.init.clientSideConversations
— if set to true
, Seam will save conversation context variables in the client instead of in the HttpSession
.
org.jboss.seam.core.manager
Internal component for Seam page and conversation context management. Always installed.
org.jboss.seam.core.manager.conversationTimeout
— the conversation context timeout in milliseconds.
org.jboss.seam.core.manager.concurrentRequestTimeout
— maximum wait time for a thread attempting to gain a lock on the long-running conversation context.
org.jboss.seam.core.manager.conversationIdParameter
— the request parameter used to propagate the conversation id, default to conversationId
.
org.jboss.seam.core.manager.conversationIsLongRunningParameter
— the request parameter used to propagate information about whether the conversation is long-running, default to conversationIsLongRunning
.
org.jboss.seam.core.manager.defaultFlushMode
— set the flush mode set by default on any Seam Managed Persistence Context. By default AUTO
.
org.jboss.seam.navigation.pages
Internal component for Seam workspace management. Always installed.
org.jboss.seam.navigation.pages.noConversationViewId
— global setting for the view id to redirect to when a conversation entry is not found on the server side.
org.jboss.seam.navigation.pages.loginViewId
— global setting for the view id to redirect to when an unauthenticated user tries to access a protected view.
org.jboss.seam.navigation.pages.httpPort
— global setting for the port to use when the http scheme is requested.
org.jboss.seam.navigation.pages.httpsPort
— global setting for the port to use when the https scheme is requested.
org.jboss.seam.navigation.pages.resources
— a list of resources to search for pages.xml
style resources. Defaults to WEB-INF/pages.xml
.
org.jboss.seam.bpm.jbpm
Bootstraps a JbpmConfiguration
. Install as class org.jboss.seam.bpm.Jbpm
.
org.jboss.seam.bpm.jbpm.processDefinitions
— a list of resource names of jPDL files to be used for orchestration of business processes.
org.jboss.seam.bpm.jbpm.pageflowDefinitions
— a list of resource names of jPDL files to be used for orchestration of conversation page flows.
org.jboss.seam.core.conversationEntries
Internal session-scoped component recording the active long-running conversations between requests.
org.jboss.seam.faces.facesPage
Internal page-scoped component recording the conversation context associated with a page.
org.jboss.seam.persistence.persistenceContexts
Internal component recording the persistence contexts which were used in the current conversation.
org.jboss.seam.jms.queueConnection
Manages a JMS QueueConnection
. Installed whenever managed QueueSender
is installed.
org.jboss.seam.jms.queueConnection.queueConnectionFactoryJndiName
— the JNDI name of a JMS QueueConnectionFactory
. Default to UIL2ConnectionFactory
org.jboss.seam.jms.topicConnection
Manages a JMS TopicConnection
. Installed whenever managed TopicPublisher
is installed.
org.jboss.seam.jms.topicConnection.topicConnectionFactoryJndiName
— the JNDI name of a JMS TopicConnectionFactory
. Default to UIL2ConnectionFactory
org.jboss.seam.persistence.persistenceProvider
Abstraction layer for non-standardized features of JPA provider.
org.jboss.seam.core.validators
Caches instances of Hibernate Validator ClassValidator
.
org.jboss.seam.faces.validation
Allows the application to determine whether validation failed or was successful.
org.jboss.seam.debug.introspector
Support for the Seam Debug Page.
org.jboss.seam.debug.contexts
Support for the Seam Debug Page.
org.jboss.seam.exception.exceptions
Internal component for exception handling.
org.jboss.seam.transaction.transaction
API for controlling transactions and abstracting the underlying transaction management implementation behind a JTA-compatible interface.
org.jboss.seam.faces.safeActions
Decides if an action expression in an incoming URL is safe. This is done by checking that the action expression exists in the view.
These components don't fit into
org.jboss.seam.async.dispatcher
Dispatcher stateless session bean for asynchronous methods.
org.jboss.seam.core.image
Image manipulation and interrogation.
org.jboss.seam.core.pojoCache
Manager component for a PojoCache instance.
org.jboss.seam.core.uiComponent
Manages a map of UIComponents keyed by component id.
Certain special Seam component classes are installable multiple times under names specified in the Seam configuration. For example, the following lines in components.xml
install and configure two Seam components:
<component name="bookingDatabase"
class="org.jboss.seam.persistence.ManagedPersistenceContext">
<property name="persistenceUnitJndiName">java:/comp/emf/bookingPersistence</property>
</component>
<component name="userDatabase"
class="org.jboss.seam.persistence.ManagedPersistenceContext">
<property name="persistenceUnitJndiName">java:/comp/emf/userPersistence</property>
</component>
The Seam component names are bookingDatabase
and userDatabase
.
org.jboss.seam.persistence.ManagedPersistenceContext
Le composant de gestion d'un EntityManager
géré par une étendue conversationnelle avec un contexte de persistence étendue.
<entityManager>.entityManagerFactory — une expression liant une valeur qui est évalué par une instance de EntityManagerFactory
.
<entityManager>.persistenceUnitJndiName — le nom JNDI de la fabrique d'entity manager, par défaut à java:/<managedPersistenceContext>.
org.jboss.seam.persistence.EntityManagerFactory
Gestion d'une EntityManagerFactory
JPA. Le plus utilisé quand on utilise JPA sans environement supportant EJB 3.0.
entityManagerFactory.persistenceUnitName
— le nom de l'unité de persistance.
Voir l'API JavaDoc pour plus de propriétés de configuration.
org.jboss.seam.persistence.ManagedSession
Le composant de gestion d'un EntityManager
géré par Hibernate d'étendue conversationnel.
<session>.sessionFactory — une expression liée à une valeur à évaluer à une instance de SessionFactory
.
<session>.sessionFactoryJndiName — le nom JNDI d'une fabrique de session, par défaut à java:/<managedSession>.
org.jboss.seam.persistence.HibernateSessionFactory
Gestion d'une SessionFactory
d'Hibernate.
<sessionFactory>.cfgResourceName
— le chemin vers le fichier de configuration. Par défaut à hibernate.cfg.xml
.
Voir l'API JavaDoc pour plus de propriétés de configuration.
org.jboss.seam.jms.ManagedQueueSender
Le composant de gestion d'une QueueSender
de JMS géré d'étendue évènementiel.
<managedQueueSender>.queueJndiName — le nom JNDI de la queue JMS.
org.jboss.seam.jms.ManagedTopicPublisher
Le composant de gestion d''un TopicPublisher
JMS d'étendue évènementiel
<managedTopicPublisher>.topicJndiName — le nom JNDI d'un topic JMS.
org.jboss.seam.drools.ManagedWorkingMemory
Le composant de gestion d'un WorkingMemory
Drools géré par une étendue conversationnelle.
<managedWorkingMemory>.ruleBase — une expression de valeur qui est évalué à une instance de RuleBase
.
org.jboss.seam.drools.RuleBase
Le composant de gestion pour une RuleBase
Drools géré d'étendue application. Notez que ce n'est pas vraiment à essayer en production, surtout que cela ne permet pas l'installation dynamique de nouvelles règles.
<ruleBase>.ruleFiles — une liste de fichier contenant les règles Drools.
<ruleBase>.dslFile — une définition de DSL de Drools.
org.jboss.seam.framework.EntityHome
org.jboss.seam.framework.HibernateEntityHome
org.jboss.seam.framework.EntityQuery
org.jboss.seam.framework.HibernateEntityQuery